Hello EuAndreh,
I read your blog post with excitement because I'm currently on a very
similar quest. My goal is to bring back application data into the hands
of the users (and onto their devices) to replace centralized,
cloud-based data stores. I wrote down what I wanted in this blog post
[1].
Like you, I didn't find anything that seemed to work like I wanted, so I
decided to start exploring the problem myself. While you go for the
Git-like approach of three-way-merges, I am trying to model conflict
situations with completed categories.
I can't say that I've come very far yet. I realized that properly
modelling conflicts with completed categories is a hard problem and
while I had some progress already, there isn't anything that I would
consider ready to be shared just yet (if you're curious you can look at
the source [2]).
But through discussions on lobste.rs [3] and further research I built a
list of references, prior work and concepts in this space [4]. From your
blog post I even got a few more references that I just added :) Perhaps
this list is also useful for you.
I wish you the best of luck with your endeavor and I hope to see further
posts about your progress on the blog :) When I have more time I will
also write more about what I've found and what's next.
Cordially, Jonas Schürmann
[1]
https://jonas-schuermann.name/projects/dvcs-for-structured-data/blog/2020-03-22-manifesto.html
[2]
https://gitlab.com/MazeChaZer/dvcs-for-structured-data/-/blob/master/source-code/EventSourcing.hs
[3] https://lobste.rs/s/qsehiu/i_want_decentralized_version_control_for
[4]
https://jonas-schuermann.name/projects/dvcs-for-structured-data/notes/references.html
Jonas Schürmann <me@jonas-schuermann.name> writes:
> Hello EuAndreh,
Hi there!
> I read your blog post with excitement because I'm currently on a very> similar quest. My goal is to bring back application data into the hands> of the users (and onto their devices) to replace centralized,> cloud-based data stores. I wrote down what I wanted in this blog post> [1].>> Like you, I didn't find anything that seemed to work like I wanted, so I> decided to start exploring the problem myself. While you go for the> Git-like approach of three-way-merges, I am trying to model conflict> situations with completed categories.
Hmmm, I haven't heard this term before. Are these [0] the complete
categories that you mean?
[0]: https://en.wikipedia.org/wiki/Complete_category> I can't say that I've come very far yet. I realized that properly> modelling conflicts with completed categories is a hard problem and> while I had some progress already, there isn't anything that I would> consider ready to be shared just yet (if you're curious you can look at> the source [2]).>> But through discussions on lobste.rs [3] and further research I built a> list of references, prior work and concepts in this space [4]. From your> blog post I even got a few more references that I just added :) Perhaps> this list is also useful for you.
Thanks for all the links, I'll try to use them to enrich my
understanding on the subject.
> Hmmm, I haven't heard this term before. Are these [0] the complete > categories that you mean?> > [0]: https://en.wikipedia.org/wiki/Complete_category
Yes, exactly. The idea is pretty abstract and while I know a little bit
about category theory I'm by no means an expert on the subject. This
blog post [1] is a very down-to-earth, practical explanation how the
concept of (co)completed categories can be applied to conflict
representation in version control systems.
[1] https://jneem.github.io/merging/
Jonas Schürmann <me@jonas-schuermann.name> writes:
> Yes, exactly. The idea is pretty abstract and while I know a little bit> about category theory I'm by no means an expert on the subject. This> blog post [1] is a very down-to-earth, practical explanation how the> concept of (co)completed categories can be applied to conflict> representation in version control systems.>> [1] https://jneem.github.io/merging/
This sounds interesting, thanks for the link.