Hostea: a seed to create a constellation of Free Software forges

I’m a Free Software vegetarian, meaning I don’t use proprietary software. In the same way a vegetarian won’t eat meat, even when it is really good. My day job is to further forge federation, to allow forges to communicate with each other. To enable a developer to file a bug from the comfort of their forge even when the software project is located in another forge. I write software daily, run online services, fix problems sent my way by the monitoring service watching over services running in production, answer support requests, take an active role in the well being team and try my best to create an inclusive environment where diversity is cherished.

As can be expected, I’m often in a difficult position when trying to communicate or work with other developers because the easiest path requires the use of proprietary software. For instance I may have to send a patch via email to contribute to a project hosted on GitHub, and it will take a lot longer to be merged.

I’m however very happy to live in a universe where only Free Software exists. I can do things that would not be possible if proprietary software was around and I think every Free Software project deserves the same amicable environment. A universe made of a constellation of Free Software forges, each populated by hundreds of projects where thousands of developers work together. Everything there is grown locally and organically, in a way that would not be possible in a gigantic forge populated by millions of projects and tenths of millions of people.

These small forges and their local society are mostly left alone by spammers because they are not a big enough target. Cleaning up the occasional spam bots can be done manually and does not require dedicated teams or sophisticated tooling. It could be compared to fighting crime in a big city such as New-York versus a quiet small town such as Lilyhammer in Norway.

That does not mean there are no disputes: it only takes two people to start a fight. Even when everyone does their best and behave impeccably with regard to the code of conduct, there are times when a group wants to follow a path and decides to go its separate way. This is commonly known as forking the project and DVCS made that possible. With the rise of self-hostable infrastructure as code, it became even easier. Within hours and a few commands, an entire forge can be forked from an existing one under a new domain name.

The forges created from scratch or forked are not isolated from each other: they communicate. For starters they frequently mirror the source code repositories because git makes it extremely easy. And with ActivityPub, forgefed and the Friendly Forge Format, new communication channels can be created. Sometimes, as can be expected, two forges may also decide to merge back together, when differences are reconciled. Very much like Free Software developers work on a daily basis by forking a project on their laptop and sending a merge request when their contribution is ready.

Because it takes time and resources to run a forge, they all need a local economy. Some of them are supported by a non-profit that offers a service to the general public on an equal basis and get its income from donations. Others may be commercial organizations that set a price depending on how much resource their user need for continuous integration or disk space. There is no need for the same business model to apply to all forges, as long as it is entirely Free Software. If it is not, forking cannot happen and centralization creeps in.

In the physical world the utopia of self-sufficient local societies is a difficult proposition because some problems are extremely difficult to solve such as providing quality health care. In the digital world there are no such barriers: it is not only easier, it is also healthier. A project from a forge is continuously copied into other forges and becomes more durable. As the number of forges multiply, the standards they use to communicate become more robust and reliable. An oppressive regime who could conveniently force a single organization to spy on its users will have a much harder time doing the same with thousands of small forges.

All it takes for this constellation of forges to grow is one seed from which all others can be forked and multiply. This is what Hostea is set to accomplish and what motivates me every day. It is currently unique, both in its ambition and in its implementation. But I hope it will inspire other developers to work with me or create something else from scratch.