GitHub is sinking
GitHub is sinking
GitHub 正在沉没
GitHub is racing towards the mythical zero nines of uptime. Users are starting to notice that GitHub is now a Microsoft product. Eww! Official uptime paints a concerning chart. The missing status page tell a far worse story. Whatever the truth, it’s impossible to miss the delightful experience that is Microsoft GitHub if you use it semi-regularly.
GitHub 正奔向那传说中“零个九”的可用性。用户们开始意识到,GitHub 现在已经是微软的产品了。真恶心!官方的在线时间图表令人担忧,而缺失的状态页面则揭示了更糟糕的真相。无论事实如何,如果你经常使用它,就一定能感受到微软版 GitHub 那种“美妙”的体验。
Microsoft acquired GitHub and applied their unique brand of enshittification. Amongst their achievements was the spawning of the Copilot circle of hell. Now they’re effectively DDoSing themselves with slop. I won’t dwell on what else went wrong. I don’t know and I don’t care. GitHub is impressively bad now. It’s embarrassing. Shameful.
微软收购了 GitHub,并施加了他们独特的“屎化”(enshittification)品牌效应。他们的“成就”之一就是催生了 Copilot 这个地狱圈。现在,他们正用各种垃圾内容有效地对自己进行 DDoS 攻击。我不想深究还有什么出了问题,我不知道也不在乎。GitHub 现在烂得令人印象深刻,既尴尬又可耻。
As I write this the obituaries are flooding in: Ditching GitHub - Lonami, Ghostty Is Leaving GitHub - Mitchell Hashimoto, Before GitHub - Armin Ronacher, From GitHub to Codeberg/Forgejo - Jonas Hietala. It’s long past time to get off this sinking ship!
就在我写这篇文章时,各种“讣告”纷至沓来:Lonami 的《抛弃 GitHub》、Mitchell Hashimoto 的《Ghostty 离开 GitHub》、Armin Ronacher 的《GitHub 之前》、Jonas Hietala 的《从 GitHub 到 Codeberg/Forgejo》。是时候逃离这艘沉船了!
Git is not GitHub
Git 不等于 GitHub
GitHub has become synonymous with “source control” and I worry too many users don’t know that Git is not GitHub. The core technology of Git is open source. It’s distributed, meaning that all repositories are equal. Git works without a centralised service. Such a practice is a construct of social convenience. GitHub was a useful add-on. Microsoft has turned GitHub into an expensive liability.
GitHub 已经成了“版本控制”的代名词,我担心太多用户不知道 Git 并不等于 GitHub。Git 的核心技术是开源的,它是分布式的,这意味着所有仓库都是平等的。Git 无需中心化服务即可运行,那种做法只是为了社交便利。GitHub 曾经是一个有用的插件,但微软已经把 GitHub 变成了一个昂贵的负担。
But network effect…
但网络效应呢……
Network effects are hard to topple but if anyone can do it, Microsoft can. GitHub’s fake star economy is worthless. GitHub is inundated with bots and drowning in slop and doing everything to encourage it. Microsoft is turning GitHub into the Moltbook of code, it ain’t for you and me anymore.
网络效应很难被推翻,但如果有人能做到,那一定是微软。GitHub 那虚假的“星标”经济毫无价值。GitHub 现在充斥着机器人,淹没在垃圾内容中,而且还在竭力鼓励这种行为。微软正在把 GitHub 变成代码界的“Moltbook”(指代某种封闭且令人反感的生态),它不再属于你我了。
But continuous integration…
但持续集成呢……
Your CI pipeline is over-engineered and GitHub Actions are an abomination. Finding another solution is an absolute chore but do you trust GitHub to be reliable?
你的 CI 流水线设计得过于复杂,而 GitHub Actions 简直是个灾难。寻找替代方案确实很麻烦,但你真的还信任 GitHub 的可靠性吗?
But more excuses…
还有更多借口……
Look, the ship is sinking! Sure, the water looks freezing. Don’t hang around and allow Microsoft to pull you under. You don’t need to move everything in one go. Start the process.
听着,船正在沉没!当然,水看起来很冷。别再徘徊,任由微软把你拖下水。你不需要一次性搬走所有东西,先开始行动吧。
Alternatives
替代方案
The nearest lifeboat to escape GitHub is another centralised Git forge. Just sign up and push your repo to the new upstream. Some services can automate the migration and maybe even import issues. Personally I’d leave issues behind in a tragic boating accident.
逃离 GitHub 最近的救生艇是另一个中心化的 Git 托管平台。只需注册并将你的仓库推送到新的上游即可。有些服务可以自动化迁移,甚至可能导入 Issue。就我个人而言,我会把 Issue 留在沉船事故中,让它们随船而去。
- Codeberg — a non-profit and community-led project with an established track record. This is the safe alternative that’ll stick around. It’s the flagship instance of Forgejo. Codeberg — 一个非营利且由社区主导的项目,拥有良好的记录。这是一个会长期存在的安全替代方案,也是 Forgejo 的旗舰实例。
- Tangled — an alpha stage start-up with interesting AT protocol integration. Worth considering for smaller solo projects. Tangled — 一个处于 Alpha 阶段的初创项目,集成了有趣的 AT 协议。适合小型个人项目考虑。
- Gitea — they offer cloud managed Git hosting. It’s the original open source project that Codeberg/Forgejo forked away from. Gitea — 他们提供云托管的 Git 服务。它是 Codeberg/Forgejo 分叉前的原始开源项目。
- GitLab — enterprise grade, meaning it’s bloated and confusing but it’ll impress your boss. This could be the choice if you need multiple meetings to make the choice. GitLab — 企业级产品,意味着它臃肿且令人困惑,但能给你的老板留下深刻印象。如果你需要通过多次会议来做决定,这可能是个选择。
- Bitbucket — trade one soul destroying corpo fun vacuum for another. Strongly discouraged, but Bitbucket does technically fit the anything but GitHub category. Bitbucket — 从一个摧毁灵魂的企业级“乐趣真空”换到另一个。强烈不推荐,但从技术上讲,它确实符合“除了 GitHub 之外”的类别。
Self-hosted
自托管
If you’re cool like me, you or your organisation can self-host a Git forge with actions and releases. My recommendation is Forgejo. There is talk of federation between Forgejo instances but it’s not happening anytime soon. If you want open collaboration push a copy to Codeberg. Gitea and GitLab also have self-hosted options. Be aware, GitLab is a comparative chonker.
如果你像我一样酷,你或你的组织可以自托管一个带有 Actions 和 Releases 功能的 Git 平台。我推荐 Forgejo。目前有关于 Forgejo 实例间联邦的讨论,但短期内不会实现。如果你需要开放协作,可以推一份副本到 Codeberg。Gitea 和 GitLab 也有自托管选项。注意,GitLab 是个相对臃肿的大家伙。
When I said “Git is not GitHub” the same applies to other forges. Do you need those add-ons? Nothing is stopping you from raw-doggin’ Git over SSH. How you manage collaboration is another question. If Linux can be maintained by sending patches to an email mailing list, “doesn’t work at scale” arguments are skill issues. But seriously, a centralised Git forge is a decent compromise in my opinion. Maybe they collapse like GitHub in future. Always have an exit plan. Just use anything but GitHub.
当我提到“Git 不等于 GitHub”时,这同样适用于其他托管平台。你真的需要那些插件吗?没人能阻止你直接通过 SSH 使用 Git。至于如何管理协作,那是另一个问题。如果 Linux 都可以通过向邮件列表发送补丁来维护,那么“无法大规模扩展”的论调纯粹是技术能力问题。但说真的,在我看来,中心化的 Git 平台是一个不错的折中方案。也许它们未来也会像 GitHub 一样崩塌,所以一定要有退出计划。总之,用什么都行,别用 GitHub。