Skip to main content

Contribute to decentralized hosting service

586 words (approximately 3 minutes reading)

So, a few days ago I’ve had a conversation from my Pleroma account concerning SourceHut and git hosting in general. Original thread here.

So in short, OP wanted to move out of GitHub, for some reasons, probably because it is:

How ironic, because free software developers use a non-free service for development, which is a centralized service that wraps around a decentralized protocol.

Decentralized hosting

Let’s ignore that thread for a moment. If you want to avoid GitHub (and you should), there are two solutions:

But this decentralization introduces a (not) new problem: how to contribute to another project, when the project is hosted on a different instance than yours? There are three options:

But how do you make a pull request without having an account there? If you clicked on the link above, you can see how:

  1. host their clone somewhere publicly available—could be anywhere
  2. push up a branch with the change
  3. contact you via email or slack or whatever to “request” that you “pull” the changes in that branch/remote
  4. feedback/discussion continues out of band, contributor can push updates to the branch, you can pull them down to review
Illustration of how it works

In fact, this is described as one of the common workflows for git and is what happens behind the scene in GitHub pull request (except a GitHub PR pull directly to maintainer’s remote and the remotes must be hosted by them).

Mailing list workflow

It is reasonable to assume everyone has an email. After all, most services require emails for registration, and more importantly, to git commit you have to set an email value. On the contrary it’s not reasonable to assume someone have a GitHub account. Therefore, it makes perfect sense to accept contribution via email, regardless of your hosting service or main contribution model.

Without an explicit instruction, the contributor can find the maintainer’s email address via git commits. However, this raises a problem: the communication is private. Thus, a public mailing list is important for an open atmosphere.

SourceHut makes this easier: it provides mailing lists that you can use for issue tracking, discussion, and contribution. It is free software, and works without JavaScript, which provides a clean and lightweight UI, though it might not be as eye-catching as some people expected, but that’s subjective.

I am aware that one of the project maintainers had (have?) been rude towards others inside the free software community, and therefore many people wouldn’t want to support him. However, the project is free software and licensed under an AGPL license, which means you can:

And if you really don’t want to use anything associated with him, I’d still hope you would host a mailing list for your free software projects. Let’s keep the free software development stay away from proprietary platforms and keep it decentralized!


Disclaimer: I’m not affiliated with codeberg.org, notabug.org, or sr.ht


  1. I know services can’t be free or non-free, but I still use it in the sense that the application that runs the service isn’t free. ↩︎

  2. The most recent example is Copilot, which mass-exploited free software for training a code-generating model. ↩︎

Fediring

Look at my fedi fellows' sites:
  1. Previous site
  2. What is Fediring?
  3. Next site

Articles from blogs I read

Generated by fead