Since yesterday I saw (from @bean ) chatter about designing a version control system for a broader audience.
So today's algorithm for discussion is a relatively recent one: CRDTs (Conflict-free Replicated DataTypes)!
In very brief if you model data as an inversely-linked tree, with deterministic if often arbitrary sorting, then you can merge changes into this document however frequently you like.
For the scheme to work there must never be any hard-conflicts!
1/2