Skip to content
Tech News
← Back to articles

We need a federation of forges

read original get GitHub Actions for Teams → more articles
Why This Matters

The article highlights the fragility of relying on centralized platforms like GitHub for open-source collaboration and advocates for a federated approach using protocols like AT. This shift aims to create a more resilient, decentralized ecosystem that preserves the social and collaborative nature of OSS development. Such a transition could enhance security, independence, and sustainability for developers and organizations alike.

Key Takeaways

GitHub seems to be crumbling the past couple of weeks. Whatever the reason, ultimately its not great for 90% of the world's OSS to depend on one provider. Centralized systems always crumble; it's the emails, gits, and IRCs that stand the test of time. Tangled aims to fit in this space, allow me to explain.

Code collaboration has always made use of two protocols, one for code transfer and one for communication:

It began with the email flow: git (code transfer) + email (comms)

Then there was GitHub: git (code transfer) + GitHub the website (comms)

There is the ForgeFed project: git (code transfer) + maybe ActivityPub (comms)

We are building Tangled: git (code transfer) + AT protocol (comms)

Tangled federates events among git servers (called "knots"). You can collaborate on repositories on any server and you can fork across servers. You can even push to a repository on your own server, and open a pull-request on a repo hosted on a completely different server. In a lot of ways, this is quite like hosting your own cgit instance, and sending out patches via email.

Tangled uses AT to facilitate the Authenticated Transfer of events surrounding code: like issues and pull-requests, and it also enables a few social bits: a timeline of events, follows, stars (and vouches very soon). AT is used to share collaborator invites and ssh pubkeys, but the rest is just good ol' git.

OSS needs to break free from monocultures like GitHub, but code collaboration should still be fun and social.