Skip to main content


Federated Git


This are some consideration about the "let's build a decentralized git solution" after the GitHub acquisition by Microsoft.

Let's start with the base: git is already decentralized. All you need is an url where other people can pull you code.
The workflow requires a way to let know other contributor about your clone and your work branch, and let them to merge it into their repos. Usually, a mailing list is used. This is the way kernel development works.
Nothing prevents you from using a federated social profile to do this (e.g, a forum profile on Friendica)
Then you need something where bug are reported. Another mailing list, another social profile? Can be.

What github/gitlab/gitea/wathever give you as a plus is a "home page" for the project where development and bug reports are easily managed and discoverable.
The downside is any of this solution require contributor to have an account there, also the self-hosted ones.

In my view, a federated replacement to git[hub,lab,ea] is not something that shout out an activity every single time a commit is insert... show more
blog (x)

This post was inspired by some comment on that group :-)
But It's really too early for comments and I'm absolutely not AP expert. So I'll try to keep an eye on the works.
This was just to put in words some thoughts.

https://github.com/git-federation/gitpub

Note that Gitea lets you sign-in with OpenID (just saying). I know it's not enough, but is a start. With your OpenID created local account (yes, you still need to be recognized locally, to get permissions) you can file an issue and report there the URL of your clone from which you are requesting a pull.

But a "pull request" is more than that: it is a thread in which a patch is being discussed and in which you can always see (a click away) the _current_ state of that _growing_ patch. The patch grows following a discussion in the thread.

Federated pull requests have been asked for in Gitea via https://github.com/go-gitea/gitea/issues/184 (want to help ? Go is fun !)