We need a federation of forges
We need a federation of forges
我们需要一个代码托管平台的联邦
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. 过去几周,GitHub 似乎正处于崩溃边缘。无论原因如何,全球 90% 的开源软件(OSS)都依赖于单一供应商,这终究不是一件好事。中心化系统总是会崩塌;唯有电子邮件、Git 和 IRC 等去中心化协议才经得起时间的考验。
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: Tangled 旨在填补这一空白,请允许我解释一下。代码协作一直以来都依赖两种协议:一种用于代码传输,另一种用于沟通交流:
It began with the email flow: git (code transfer) + email (comms) 最初是电子邮件流:Git(代码传输)+ 电子邮件(沟通)
Then there was GitHub: git (code transfer) + GitHub the website (comms) 后来出现了 GitHub:Git(代码传输)+ GitHub 网站(沟通)
There is the ForgeFed project: git (code transfer) + maybe ActivityPub (comms) 现在有了 ForgeFed 项目:Git(代码传输)+ 可能的 ActivityPub(沟通)
We are building Tangled: git (code transfer) + AT protocol (comms) 我们正在构建 Tangled:Git(代码传输)+ AT 协议(沟通)
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. Tangled 在各个 Git 服务器(称为“knots”,即“节点”)之间联合事件。你可以在任何服务器上的存储库中进行协作,也可以跨服务器进行 Fork。你甚至可以推送到自己服务器上的存储库,并向托管在完全不同服务器上的存储库发起 Pull Request。
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). 在很多方面,这非常类似于托管你自己的 cgit 实例并通过电子邮件发送补丁。Tangled 使用 AT 协议来促进围绕代码的事件的“认证传输”(Authenticated Transfer),例如 Issue 和 Pull Request;它还启用了一些社交功能:事件时间线、关注、点赞(很快还会加入“担保/vouch”功能)。
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. AT 协议被用于共享协作者邀请和 SSH 公钥,但除此之外,其余部分依然是传统的 Git。开源软件需要摆脱像 GitHub 这样的单一文化,但代码协作依然应该是有趣且具有社交性的。