Git itself is already capable of distributed usage, which is better than federated/decentralized.
'Distributed' and 'decentralized' in this sense:
But in terms of the Git hosting service, with an issue board and all that, which is often called a "git forge", you've got Forgejo working on an implementation, as well as ForgeFed as a general protocol (also work-in-progress).
It's funny how git was carefully designed to be decentralized and resistant to failure from any single node... and we immediately put all our fault tolerance on the back of one corporate-owned entity. Welp.
It's because they solved all the version control problems, but not accessibility and discoverability. I'm probably not going to try and use git peer-to-peer with a total stranger.
You're obviously right, but it's just the same trap that humanity keeps running into: Mediocre platform with a majority of users turns into centralized monopoly.
And it's almost like a case study that this is going to happen no matter the circumstances, because the base technology is decidedly not the problem, and the users are techie enough to have been burned multiple times, and where the technological friction of switching to another platform isn't the problem either. The problem is entirely social.
Obviously, federation is the technical solution trying to eliminate this social problem. But for it to have a chance at solving anything at all, we need international legislation to force monopolists to adopt federation.
"Humanity" feels like a grand term for a concept a couple decades old or so, but I guess it's right, and it's the same thing that happened with railways way back in the day.
Legislation would be amazing, and it even seems plausible that the EU might adopt something like that eventually. Even without, though, we have the advantage that monopolies have a way of collapsing themselves in the long run, whether by dynastic succession (the Medici bank IIRC), complacency (Xerox) or anti-trust issues (Standard Oil), while the fediverse can't really die that way.
GitHub like services, no. Codeberg/forgejo looks promising, but theres a lot of discussion on what it should "look" like. Seems like its a pretty big challenge to do correctly.
Wouldn't help if your chosen instance is down, same problem unless multiple other people are storing your code on their servers
Otherwise it kinda already is federated, you can have multiple remotes configured for a repo and push to both at once I'm pretty sure, then if one goes down you just use the other and sync later