2026 年 7 月 9 日,一篇 HowToGeek 的文章登上了 Hacker News 首页——「为什么开发者正在抛弃 GitHub,转向 Codeberg 和自托管替代方案」。文章在数小时内冲上热门,引发了社区对 GitHub 现状和开源代码托管未来的激烈讨论。
这已经不是第一次有文章讨论 GitHub 的用户流失。2022 年微软收购 GitHub 时,GitLab 曾经是那个被讨论的替代者。但这一次,主角换成了一个柏林非营利组织运营的平台——Codeberg,以及它背后的开源软件 Forgejo。
图:开发者离开 GitHub 的推力因素与替代方案对比
不是第一次讨论,但这一次不太一样
HN 评论区的第一条高赞评论来自用户 jorisw,他直接质疑了文章的标题:「『为什么 X 正在做 Y』这类文章假装 ‘X 正在做 Y’ 这个前提是成立的,在证明之前就跳到了 ‘为什么’。这就是为什么我从来不信以 ‘为什么’ 开头的标题。」
这种怀疑不无道理。2018 年微软收购 GitHub 时,GitLab 确实迎来了一波用户迁移——但 GitHub 的用户基数并没有受到实质性冲击。当时的逃离更多是情绪反应,而非结构性变化。
但用户 stymaar 的反驳点到了关键:「GitHub 从未被任何人威胁过,因为他们的服务好到除了最意识形态化的人之外没人愿意折腾。但现在他们的服务已经糟糕到公司里每次 GitHub 宕机或者变慢都会有一个内部笑话。」
声誉是一件非常有价值的东西。而 GitHub 在几个月内毁掉了一个曾经无可挑剔的声誉。
三层推力:AI、可靠性和控制权
如果把 HN 评论区的讨论做一次聚类分析,开发者离开 GitHub 的原因可以归纳为三个层次。
第一层:AI 训练政策。 2026 年 3 月 25 日,GitHub 宣布从 4 月 24 日起,Copilot Free、Pro 和 Pro+ 用户的交互数据将被默认用于 AI 模型训练——除非用户主动选择退出。这意味着数百万开发者的代码、issue 讨论和 PR 评论将自动进入微软的训练管道。
HN 用户 littlecranky67 的评论代表了相当一部分开发者的情绪:「开发者(包括我)不喜欢被告知我们正在被 AI 取代,而这个 AI 是用我们免费的开源业余项目训练出来的。」
虽然技术上即使代码迁移到 Codeberg 也可以被爬取,但 GitHub 用户已经通过服务条款明确授权微软使用这些数据。Codeberg 作为非营利组织,其治理结构至少在名义上排除了这种商业利用的可能。更深一层,一些开发者选择将私有仓库部署在 Tailscale 或 WireGuard 之后的私有 Forgejo 实例上——这些代码根本无法被公共互联网触及。
第二层:服务可靠性。 2026 年上半年,GitHub 经历了多次被开发者社区广泛讨论的中断事件。用户 benthecarman 的经历尤为刺眼:「我们整个组织的 CI 因为一个被错误封禁的外部贡献者提交了 PR 而被关闭了三周。经过多次申诉,我们没有得到任何解释,被告知这是永久封禁,直到我们在 Twitter 上引起关注。」
Mitchell Hashimoto——GitHub 用户编号 1299,2008 年 2 月注册,HashiCorp 联合创始人、Vagrant 和 Terraform 的创建者——在 2026 年 4 月宣布将他开发的终端模拟器 Ghostty 迁出 GitHub。他在博客中写道:「写下这些让我感到一种不理性的悲伤。18 年来,我每天都在打开 GitHub。每天,一天多次,持续了超过我半生的时间。」推动他做出这个决定的,是连续数月的每日 GitHub 中断,每次阻塞他的工作数小时。
用户 stymaar 总结道:「GitHub 的质量下降已经到了一个转折点——以前,替代方案只在意识形态上更优;现在,替代方案在实用性上也更优了。」
第三层:微软的控制权。 2025 年 8 月,微软将 GitHub 整合进其 CoreAI 部门。GitHub CEO Thomas Dohmke 宣布离职。这个组织架构调整的信号非常明确:GitHub 不再是独立的开发者服务平台,而是微软 AI 战略的一部分。Copilot 插广告(后被撤销)、默认的 AI 训练数据采集、以及 AI 生成的 PR 建议——这些功能的设计中心不是开发者体验,而是 AI 产品的渗透率。
用户 My_Name 的评论直截了当:「我抛弃 GitHub 只有一个原因。不是技术困难、不是政治、也不是 AI。是微软。就像 Apple、Facebook 等公司一样,我对微软有着深深的厌恶,我想尽可能把它从我的生活中移除。」
Forgejo 的崛起:从 Gitea 软分叉到国家基础设施
Codeberg 不是一个新项目。它于 2019 年启动,由德国的非营利组织 Codeberg e.V. 运营。但在过去 18 个月里,几个结构性的变化将它从「开源爱好者的小众选择」推向了「GitHub 的可行替代方案」。
第一个转折点发生在 2022 年 12 月。当时 Gitea 项目的商标和运营被悄然转移至一家由于核心维护者控制的营利性公司,引发了社区强烈反弹。Codeberg 随即宣布创建 Forgejo——一个由社区治理的 Gitea 分支。最初是软分叉,2024 年 2 月升级为硬分叉,确保代码库和架构方向永久与社区需求对齐,完全不受商业激励的影响。
第二个转折点是 2026 年 4 月 24 日,荷兰政府软启动了 code.overheid.nl——一个基于 Forgejo 的自主托管代码平台,面向所有政府机构。多个部委(财政、外交、农业、内政)和主要城市(海牙、乌得勒支、莱顿、阿纳姆)参与了初始部署。
这不是一个象征性的姿态。荷兰政府明确将 GitHub 和 GitLab 归类为「具有风险」,原因是它们并非完全自由软件,且政府对其缺乏控制权。code.overheid.nl 背后的原则是「公共资金,公共代码」——政府用纳税人的钱开发的软件,其代码基础设施也应当由公共机构控制。
荷兰是第一个这样做的国家政府。但它不会是最后一个。
第三个转折点是在此之前不到一个月:知名开源项目 BookStack 在 2026 年 4 月 28 日宣布从 GitHub 全部迁移至 Codeberg。项目维护者写道:「Codeberg,一个由社区主导的非营利组织,使用开源解决方案提供服务,比微软(GitHub 的所有者)更符合我们希望支持和传达的价值观。」GitHub 上的原始仓库被归档并添加了指向 Codeberg 的跳转链接。
图:GitHub 到 Codeberg/Forgejo 迁移浪潮的关键时间线
Codeberg 和 Forgejo 提供了什么
对于从 GitHub 迁移的开发者来说,Codeberg 的体验有两个层次。
对于不想自托管的人,Codeberg.org 提供了一个免费托管服务——前提是项目必须是自由开源软件。界面与 GitHub 高度相似:仓库、issue、PR、wiki、看板、发布页面一应俱全。Forgejo Actions 提供了与 GitHub Actions 兼容的 CI/CD 系统,YAML 工作流语法几乎一致,现有的 Actions 生态基本可以在 Codeberg 上直接使用。
对于需要完全控制权的人,Forgejo 可以部署在任何地方——从树莓派到云服务器。HN 用户 hambos22 分享了自托管 Gitea 的体验:「在 9 个月前放弃了 GitHub。目前自托管 Gitea,使用它的 Docker 和 NPM 注册表,以及 act runner 替代 GitHub Actions,全部在 Tailscale 下保护。我对这个设置非常满意。功能齐全,配置一次就可以忘掉。」
用户 embedding-shape 则指出了一个被低估的好处:「迁移到自托管 Git 平台后,CI 速度的提升是我之前没有意识到的收益。以前从推送提交到三个平台的发布二进制文件就绪需要约 40 分钟,现在不到 10 分钟——而那个缓慢的过程给我带来的头疼比我当时愿意承认的要多。」
蜜月期与现实边界
但 HN 讨论中也有冷静的声音。用户 sverhagen 以一个简单的历史类比提醒所有人:「是啊,就像微软收购 GitHub 时开发者大规模迁移到 GitLab 一样。」他的潜台词很清楚:迁移的声量往往大于实际规模。
用户 jorisw 追问了一个关键问题:「文章举出的不过是一小撮在数十万仓库中勉强有意义的案例。什么水平的 ‘增长’ 构成了一种趋势,足以支撑 ‘开发者正在抛弃 GitHub’ 这样的标题而不提供任何数字?」
这是一个合理的质疑。Ghostty、BookStack、以及荷兰政府都是引人注目的案例,但它们相对于 GitHub 上数以百万计的活跃仓库来说,仍然只是冰山一角。网络效应的力量仍然巨大——大多数开发者留在 GitHub 上,因为「所有其他人都在那里」。
Codeberg 目前只接受自由开源项目,这意味着闭源商业软件——GitHub 付费用户的核心——无法迁移过去。对于企业团队,自托管 GitLab 或 Forgejo 是更现实的路径,但这也意味着承担运维成本。
另外,一些开发者对特定替代方案表达了保留意见。sourcehut 被描述为「极简且快速」,但其维护者 Drew DeVault 的强硬意识形态立场让一些用户却步。用户 Hendrikto 写道:「服务提供商应该保持中立,只在法律要求的情况下介入。我不会信任 Sourcehut。如果 Drew 某天决定不喜欢你、你的政治立场或你的行业,他会直接切断你。这不是可以依托的基础。」
趋势而非雪崩
如果非要用一个比喻,开发者从 GitHub 向 Codeberg 和自托管方案的迁移更像是冰川移动,而非雪崩。慢,但一旦启动就很难逆转。
2022 年 Software Freedom Conservancy 发起「放弃 GitHub」运动时,Codeberg 被列为推荐替代方案之一。当时这看起来更像是一场道德呼吁。四年后,这场运动的驱动力已经从意识形态转向了实用性:当你每天因为 GitHub 宕机而无法工作时,当你发现自己写的代码被默认用于训练微软的 AI 模型时,当你的仓库因为一个错误的封禁而被关闭时——寻找替代方案就不再是一种姿态,而是一个务实的选择。
荷兰政府的选择是一个分水岭。当国家政府把代码基础设施归类为「数字主权」问题,并投入实际资源建设替代方案时,这个趋势就获得了此前缺乏的制度性背书。
GitHub 不会在一夜之间失去其主导地位。但它的护城河——无可比拟的可靠性、对开发者社区的尊重、以及作为中立基础设施的信任——正在被微软自己填平。
参考链接:
- HN 讨论:https://news.ycombinator.com/item?id=48842611
- HowToGeek 原文:https://www.howtogeek.com/why-developers-are-ditching-github-for-codeberg-and-self-hosting-alternatives/
- Mitchell Hashimoto:Ghostty 离开 GitHub:https://mitchellh.com/writing/ghostty-leaving-github
- BookStack 迁移至 Codeberg:https://www.bookstackapp.com/blog/project-migrated-to-codeberg/
- 荷兰政府 code.overheid.nl:https://code.overheid.nl/
- Forgejo 官网:https://forgejo.org/
- Codeberg 官网:https://codeberg.org/
- Software Freedom Conservancy「放弃 GitHub」运动:https://sfconservancy.org/GiveUpGitHub/
- Forgejo 从 Gitea 分叉始末(LWN):https://lwn.net/Articles/963095/
- GitHub Copilot 默认训练政策:https://www.fullstackevolved.com/blog/github-copilot-training-data-policy-2026-03-27/