2 ms·
You really want to use CRDTs, not data types subject to human resolved merge conflicts.
by richardwhiuk 4y ago
You really want to use CRDTs, not data types subject to human resolved merge conflicts.
- rektide 4y agoI feel like crdts are sold as a panacea. I can esily imagine users making conflicting changes, so I dont really see or understand what the real value or weaknesses of CRDTs are. Im also used to seeing them used for online synchronization, & far less examples of distributed crdts, which is, to me, highly important. Git by contrast has straightforward & good merge strategies. At this point, I feel like the problems are complex & that we need complex tools that leave users & devs in charge & steering. Im so ready to be wrong, but I dont feel like these problems are outsmartable; crdts have always felt like they try to define a too limited world. For now, I feel like tools for managing files between different fs'es are more complex, but a minimum level of possibility we need.
- jka 4y agoWhether conflict-resolution can be performed automatically or may require manual input is important at scale. Human editors may cause the content within a CRDT datastructure to become inconsistent in the sense of "is this document understandable by another person", but they can't cause conflicts that block the editing process on-disk. On the other hand, git merges can -- and frequently do -- involve conflict resolution that isn't effectively handled -- especially in a distributed system -- by automated measures.