···11+---
22+atroot: true
33+template:
44+slug: federation
55+title: we need a federation of forges
66+subtitle: git is decentralized, but what of the rest?
77+image: https://assets.tangled.network/home-page-self-host-light.svg
88+date: 2026-04-29
99+authors:
1010+ - name: Akshay
1111+ email: akshay@tangled.org
1212+ handle: oppi.li
1313+---
1414+1515+<picture>
1616+ <source media="(prefers-color-scheme: dark)" srcset="https://assets.tangled.network/home-page-self-host-dark.svg">
1717+ <img class="h-auto max-w-full" src="https://assets.tangled.network/home-page-self-host-light.svg">
1818+</picture>
1919+2020+GitHub seems to be crumbling the past couple of weeks.
2121+Whatever the reason, ultimately its not great for 90% of the
2222+world's OSS to depend on one provider. Centralized systems
2323+always crumble; it's the emails, gits, and IRCs that stand
2424+the test of time. Tangled aims to fit in this space, allow
2525+me to explain.
2626+2727+Code collaboration has always made use of two protocols, one
2828+for code transfer and one for communication:
2929+3030+- It began with the email flow: git (code transfer) + email
3131+ (comms)
3232+- Then there was GitHub: git (code transfer) + GitHub the
3333+ website (comms)
3434+- There is the ForgeFed project: git (code transfer) +
3535+ [maybe
3636+ ActivityPub](https://forgefed.org/blog/actor-programming/)
3737+ (comms)
3838+- We are building Tangled: git (code transfer) + [AT
3939+ protocol](https://atproto.com/) (comms)
4040+4141+Tangled federates events among git servers (called "knots").
4242+You can collaborate on repositories on any server and you
4343+can fork across servers. You can even push to a repository
4444+on your own server, and open a pull-request on a repo hosted
4545+on a completely different server. In a lot of ways, this is
4646+quite like hosting your own cgit instance, and sending out
4747+patches via email.
4848+4949+Tangled uses AT to facilitate the Authenticated Transfer of
5050+events surrounding code: like issues and pull-requests, and
5151+it also enables a few social bits: a timeline of events,
5252+follows, stars (and vouches very soon). AT is used to share
5353+collaborator invites and ssh pubkeys, but the rest is just
5454+good ol' git.
5555+5656+OSS needs to break free from monocultures like GitHub, but
5757+code collaboration should still be fun and social.