Federated Git

Git in itself is distributed in nature. That's why it is called distributed version control. But what I really mean by federated Git is the Git hosting services. There are some popular hosted services like Github and then there are open source selfhosted alternatives like Gitea and Gogs. But for someone to switch to something like Gitea entirely is not an option (if they want to contribute in other projects) since there is no way of creating pull requests or follow projects across the services. For someone to create a pull request, they need to have an account on existing hosting service and create it from there. This feels limiting considering the distributed nature of underlying software, Git.

One solution to this can be Federated Git, similar to Fediverse. That means anyone can host an instance and submit there changes to any other totally different service as long as both of them implement same protocol. ActivityPub is one such protocol used for federation. I do not know the technical details of it but I think an extension of it or something similar could be used to solve this problem.

The interesting thing probably would be to think, how many popular services are willing to implement such systems which basically promote people to move away from there core business easily. This is possibly one of the big reasons something like this does not already exist.

P.S.: I searched about it on the web and found that some clever people already figured out the problem and are working on solutions. One of them called Forgefed is actually an extension to ActivityPub. One person is also trying to convinence people to use email for synchronization and some project implementing something similar called sourcehut.

Comments