Signed-off-by: oppiliappan me@oppi.li
+57
Diff
round #1
+57
blog/posts/federation.md
+57
blog/posts/federation.md
···
1
+
---
2
+
atroot: true
3
+
template:
4
+
slug: federation
5
+
title: we need a federation of forges
6
+
subtitle: git is decentralized, but what of the rest?
7
+
image: https://assets.tangled.network/home-page-self-host-light.svg
8
+
date: 2026-04-29
9
+
authors:
10
+
- name: Akshay
11
+
email: akshay@tangled.org
12
+
handle: oppi.li
13
+
---
14
+
15
+
<picture>
16
+
<source media="(prefers-color-scheme: dark)" srcset="https://assets.tangled.network/home-page-self-host-dark.svg">
17
+
<img class="h-auto max-w-full" src="https://assets.tangled.network/home-page-self-host-light.svg">
18
+
</picture>
19
+
20
+
GitHub seems to be crumbling the past couple of weeks.
21
+
Whatever the reason, ultimately its not great for 90% of the
22
+
world's OSS to depend on one provider. Centralized systems
23
+
always crumble; it's the emails, gits, and IRCs that stand
24
+
the test of time. Tangled aims to fit in this space, allow
25
+
me to explain.
26
+
27
+
Code collaboration has always made use of two protocols, one
28
+
for code transfer and one for communication:
29
+
30
+
- It began with the email flow: git (code transfer) + email
31
+
(comms)
32
+
- Then there was GitHub: git (code transfer) + GitHub the
33
+
website (comms)
34
+
- There is the ForgeFed project: git (code transfer) +
35
+
[maybe
36
+
ActivityPub](https://forgefed.org/blog/actor-programming/)
37
+
(comms)
38
+
- We are building Tangled: git (code transfer) + [AT
39
+
protocol](https://atproto.com/) (comms)
40
+
41
+
Tangled federates events among git servers (called "knots").
42
+
You can collaborate on repositories on any server and you
43
+
can fork across servers. You can even push to a repository
44
+
on your own server, and open a pull-request on a repo hosted
45
+
on a completely different server. In a lot of ways, this is
46
+
quite like hosting your own cgit instance, and sending out
47
+
patches via email.
48
+
49
+
Tangled uses AT to facilitate the Authenticated Transfer of
50
+
events surrounding code: like issues and pull-requests, and
51
+
it also enables a few social bits: a timeline of events,
52
+
follows, stars (and vouches very soon). AT is used to share
53
+
collaborator invites and ssh pubkeys, but the rest is just
54
+
good ol' git.
55
+
56
+
OSS needs to break free from monocultures like GitHub, but
57
+
code collaboration should still be fun and social.