Git makes it easy to make copies, but its nature of having one designated "origin" remote per repository that serves as upstream source of truth (on platforms like github also across forks) makes it not really federated/decentralized the way Mastodon et al. are.
And I don't reaaally see how this tool solves that problem. Or any of the other problems you mentioned.
But that said, Mastodon/ActivityPub don't really feel like mature solutions yet. It's incredibly opaque how instances interact, and self-hosting is an exercise in frustration as you try to figure out why A sees your reactions but B does not and you can get notifications for C's reactions but not A's, but B's replies and not… I gave up after a while. It's more opaque than even email self-hosting, at least exim and postfix have fairly verbose error logging.
> Git makes it easy to make copies, but its nature of having one designated "origin" remote per repository that serves as upstream source of truth (on platforms like github also across forks) makes it not really federated/decentralized the way Mastodon et al. are.
That makes sense. Each Activitypub server might also be considered the source of truth for any given post, but since you're usually going to fetch them from your own instance that your account lives on you're not getting it directly from there unless you specifically do it yourself.
> But that said, Mastodon/ActivityPub don't really feel like mature solutions yet.
Yeah, that makes sense. I think this is partly because Activitypub is both quite opinionated, but also gives you quite some wiggle room with how you implement different functionality, like defederation. And of course the most well known software in that space is effectively what all others have to follow.
Git is probably a more stable protocol, but then again ActivityPub is served over HTTP, which is also pretty stable. I believe the same issues would befall this as well, since Git, to me, doesn't seem to be the biggest factor in this, and more the append-only nature of it. I've never been a big fan of append-only social networks.
I've been running a Mastodon server for a couple of years now and have had relatively few federation issues, luckily. But I do agree that trudging through the logs and figuring out what's going on is not exactly ideal, not to mention debugging other issues like if something went wrong during the key exchange with your server and a remote one, or if you accidentally lose your key and suddenly can't talk to any other instance since they won't trust your old domain with the new key. But you might run into similar issues with this, right?
Edit: If it came across as downplaying the project or it's author then that wasn't my intention at all. These were just some thoughts that immediately popped into my head when I saw this. They may well have thought through answers to my not thought through questions, and I certainly don't mean to pretend like I know better.
But git gives you nothing to handle more complicated topologies, all remotes you interact with have to result in a linear history with everything on all other remotes… unless you feel like doing a manual merge every time you update your social media feed. Making that work automagically needs another layer on top of git, none of which seems documented here.
To be more precise, git clone adds the origin cloned from as a remote named "origin", unless you override this with a configuration setting or the -o option.
Kinda does look like round peg square hole situation.
"Federated network" could be modeled by a stream of posts (comments, tweets, whatever else) that are either a start ("root") of conversation or reply to one or more previous post(s), so it does form a graph. Then a bunch of "indexes" like "each post with this tag", usually ordered via some kind of filter (time, how popular the twat posting it is, removing any offensive or NSFW ones etc).
But there is really nothing to merge and not much else common to git aside from sitting on its store and protocol
And I don't reaaally see how this tool solves that problem. Or any of the other problems you mentioned.
But that said, Mastodon/ActivityPub don't really feel like mature solutions yet. It's incredibly opaque how instances interact, and self-hosting is an exercise in frustration as you try to figure out why A sees your reactions but B does not and you can get notifications for C's reactions but not A's, but B's replies and not… I gave up after a while. It's more opaque than even email self-hosting, at least exim and postfix have fairly verbose error logging.
reply