Top 17 CRDT Open-Source Projects
An open source cybersecurity protocol for syncing decentralized graph data.Project mention: gun: NEW Data - star count:14993.0 | reddit.com/r/algoprojects | 2021-12-05
Peer-to-Peer Databases for the Decentralized WebProject mention: Any suggestions to build a decentralized web app? | reddit.com/r/ipfs | 2021-11-22
I want to build a decentralized social media web app for a personal project, and I'm thinking on using IPFS. What tool, API, or library can get me set up without writing smart contracts or using blockchain solutions? I've heard that GunDB or OrbitDB are useful libraries- is that true? What are your thoughts and suggestions?
Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Shared data types for building collaborative softwareProject mention: Where is the CRDT for syntax trees | news.ycombinator.com | 2021-12-03
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the networkProject mention: Is there a real serverless working example of pubsub usage? | reddit.com/r/ipfs | 2021-10-17
https://github.com/berty/berty/ does serverless pubsub with orbitdb in go.
Library for building distributed, real-time collaborative web applicationsProject mention: Microsoft Launches Google Wave | news.ycombinator.com | 2021-11-02
(Disclosure: Work at Microsoft, but I work in Azure and some open source stuff, not on or directly with Fluid/Office/etc.)
That's just a trademark clause for Microsoft logos and brands. The Fluid Framework itself is [MIT licensed](https://github.com/microsoft/FluidFramework/blob/main/LICENS...) and doesn't require exposing any of those logos/brands when you use it, so the framework itself is fairly open for usage.
I think the main thing that would slow down adoption for Fluid is that the only "production" backend is an Azure service, which isn't part of the open source Fluid Framework. [Other open source backends](https://fluidframework.com/docs/deployment/service-options/) aren't recommended for productions. Until there are some open source ones, I'd assume adoption will be limited to folks in the Azure ecosystem.
String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.Project mention: 5000x Faster CRDTs: An Adventure in Optimization | news.ycombinator.com | 2021-07-31
And I'm not surprised these techniques have been invented before. Realising a tree is an appropriate data structure here is a pretty obvious step if you have a mind for data structures.
To name it, I often find myself feeling defensive when people read my work and respond with a bunch of links to academic papers. Its probably totally unfair and a complete projection from my side, but I hear a voice in my head reword your comment to instead say something awful like: "Cool, but everything you did was done before. Even if they didn't make any of their work practical, usable or good they still published first and you obviously didn't do a good enough literature review if you didn't know that." And I feel an unfair defensiveness arise in me as a result that wants to find excuses to dismiss the work, even if the work might be otherwise interesting.
Its hard to compare their benchmark results because they used synthetic randomized editing traces, which always have different performance profiles than real edits for this stuff. Their own university gathered some great real world data in an earlier study. It would have been much more instructive if that data set was used here. At a glance their RAM usage looks to be about 2 orders of magnitude worse than diamond-types or yjs. And their CPU usage... ?? I can't tell because they have no tables of results. Just some hard to read charts with log scales, so you can't even really eyeball the figures. So its really hard to tell if their work ends up performance-competitive without spending a couple days getting their enterprise style java code running with a better data set. Do you think thats worth doing?
SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.Project mention: Web Applications from the Future: A Database in the Browser | news.ycombinator.com | 2021-06-08
I’m exploring the ideas (an easy to use framework to build local-first  apps) in my library Reactive-CRDT (https://github.com/yousefed/reactive-crdt). Feedback welcome!
All credit for the underlying tech to YJS, which has been amazing as mentioned by others in this thread.
Run Linux Software Faster and Safer than Linux with Unikernels.
Go version of P2P Database on IPFS
A library to create p2p applications, using the browser as a full peer.Project mention: AWS is playing chess, Cloudflare is playing Go | news.ycombinator.com | 2021-10-18
I'm thinking there's an interesting parallel between my browser-based p2p project  and cloudflare workers / DurableObjects. Instead of DurableObjects, we got HashedObjects , and instead of workers running on an edge network somewhere, we got in-browser p2p nodes running a browser-to-browser mesh network.
 Hyper Hyper Space: https://www.hyperhyperspace.org
Conflict-free replicated JSON implementation in native Go (by gpestana)Project mention: Rdoc – Build better decentralized and offline-first applications in Go | news.ycombinator.com | 2021-01-25
Haskell implementation of RON and RON-RDT (by ff-notes)
Go version of append-only log CRDT on IPFSProject mention: The Limits to Blockchain Scalability ~vitalik | reddit.com/r/CryptoTechnology | 2021-05-23
If consensus is not needed, then append-only logs (CRDTs) are excellent for bringing about the distributed web and are already starting to get wide usage (go-ipfs-log, ceramic, textile, dat/hyperledger). You can just about recreate the vast majority of applications & services on these structures. These structures can actually operate in a completely distributed manner unlike applications built on-top of blockchains that require gateways and APIs (i.e. Infura).
A delta-state block-wise sequence CRDTProject mention: 5000x Faster CRDTs: An Adventure in Optimization | news.ycombinator.com | 2021-07-31
Yes, xray was abandoned and teletype is written in JS.
I understand your point and as a researcher and engineer I know your feeling. I took some cautions by using "Some optimizations". I value engineering as much as research and I'm bothered when I heard any side telling the other side that their work is worthless. Your work and the work of Kevin Jahns are very valuable and could improve the way that researchers and engineers do benchmarks.
This is still hard for me to determine when position-based list CRDT (Logoot, LogootSPlit, ...) are better than tombstone-based list CRDT (RGA, RgaSplit, Yata, ...). It could be worth to assess that.
3 year ago I started an update of LogootSplit. The new CRDT is named Dotted LogootSplit  and enables delta-synchronizations. The work is not finished: I had other priorities such as writing my thesis... I have to perform some benchmark. However I'm more interested in the hypothetical advantages of Dotted LogootSplit regarding synchronization over unreliable networks. From an engineering point-of-view, I'm using a partially-persistent-capable AVL tree . Eventually I would like to switch to a partially-persistent-capable b-tree. Unfortunately writing a paper is very time consuming, and time is missing.
I still stick with JS/TS because in my viewpoint Wasm is not mature yet. Ideally, I would like to use a language that compiles both to JS and Wasm. Several years ago I welcomed Rust with a lot of enthusiasm. Now I'm doubtful about Rust due to the inherent complexity of the language.
JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
Edit text in collaboration!
A Haskell library providing a garbage collected CRDT event accumulation datatype.
Implementation of collaborative editing algorithm CRDT WOOT.Project mention: Collaborative Editing Using CRDT WOOT | news.ycombinator.com | 2021-10-30
Hi, I would like to share this collaborative editor I have created using the CRDT WOOT algorithm as described in the paper Data Consistency for P2P Collaborative Editing. You can try it here. (I added some visualisation of what happens in the algorithm, which is the array of value above.
It's more of a proof of concept, which would need some more improvements in order to be production ready.
CRDT related posts
Where is the CRDT for syntax trees
5 projects | news.ycombinator.com | 3 Dec 2021
Any suggestions to build a decentralized web app?
2 projects | reddit.com/r/ipfs | 22 Nov 2021
Collaborative Editing Using CRDT WOOT
1 project | news.ycombinator.com | 30 Oct 2021
Is there a real serverless working example of pubsub usage?
4 projects | reddit.com/r/ipfs | 17 Oct 2021
Todos: The Hard Parts
3 projects | dev.to | 15 Sep 2021
The Future Needs Files
1 project | news.ycombinator.com | 3 Sep 2021
A Simple Way to Build Collaborative Web Apps
6 projects | news.ycombinator.com | 17 Aug 2021
What are some of the best open-source CRDT projects? This list will help you:
Are you hiring? Post a new remote job listing for free.