
整理 | 屠敏
出品 | 优快云(ID:优快云news)
回看 2018 年,微软以 75 亿美元收购 GitHub 时,不少开发者曾一度感到紧张,担心这一开源代码协作平台会被科技巨头掌控,自由受限,甚至有人扬言要弃用 GitHub。多年过去,微软基本保持了 GitHub 的开放精神,也让大部分开发者逐渐安心。
然而,随着今年 8 月 GitHub CEO Thomas Dohmke 宣布辞职,并且 GitHub 不再设立 CEO 职位,由微软 AI 团队直接接管,这一举措再次引发外界对平台未来的关注。
就在这样的背景下,一股新的“迁徙潮”悄悄兴起:越来越多的开发者开始将开源项目从 GitHub 迁移到了其他平台,其中既有轻量级浏览器、游戏模拟器项目,也包括像 Zig 这样的知名编程语言项目。
让众人好奇的是:GitHub 究竟是怎么“惹了众怒”,还是开发者自身的问题?


Zig 核心开发者:GitHub 优先级和工程文化早已“腐化”
在这波“迁移潮”中,Zig 编程语言的体量算是最大、影响最广的。
Zig 是一门仍在开发中的原生编译型编程语言,但它已经被一些知名项目采用,包括 Bun JavaScript 构建工具。截至目前,它在 GitHub 上拥有 42.5k 个 Star 数量以及 3.1k 的 Fork。

不久前,Zig 的主要开发者 Andrew Kelley 在官方社区网站上发表了题为《从 GitHub 迁移到 Codeberg》的文章,宣布 Zig 项目将迁往 Codeberg——一家总部位于德国柏林的非营利 Git 托管机构,可以视为 GitHub 的替代品。

Kelley 在公告中直言:“自从十年前执行 git init 以来,Zig 的代码一直托管在 GitHub 上。但不幸的是,当 GitHub 卖给微软时,倒计时就开始了。我曾心里默念:‘请给我 5 年,别让一切都完蛋。’而现在,七年过去了,我们已经是在借来的时间上苟延残喘。”
他列举了多个迁移原因,核心在于 GitHub 的工程文化和服务质量已经发生变化。
Kelley 指出,曾经让 GitHub 成功的工程实力,现在已经不再起作用了。它的优先级和工程文化都“烂掉”了,用户们只能忍受一个臃肿、到处出 bug 的 JavaScript 框架,官方还说是为了“进步”。以前很流畅的东西,现在变得慢吞吞,很多功能甚至完全坏掉。
其中,GitHub Actions 的不稳定性尤为严重。在 Kelley 看来,Actions 是持续集成与持续交付的关键功能,但它完全被 GitHub 内部忽视,任务运行状态看起来就像是随机触发的。
他说道:“GitHub CEO 曾说过‘接受 AI 或者滚蛋’,微软似乎照单全收。Actions 开始随意调度,作业随机运行,再加上其他漏洞和无法手动干预,这导致我们的 CI 系统严重积压,连 master 分支的提交都无法检查。”
因此,「与其花捐款钱去买更多 CI 硬件来应对这崩坏的基础设施,我们决定直接换一个 Git 托管提供商」,Kelley 说道。
此外,Kelley 对 GitHub 过度拥抱 AI 的趋势持反对态度,毕竟这与 Zig 项目禁止在 issue、PR 或评论中使用 LLM 的政策相冲突。他提到,多次观察到有人违反这一政策,而这种情况至少部分原因是 GitHub 在不断推行“用 Copilot 提交 Issue”的功能。
宁愿舍弃收入
在迁移中,令 Kelley 稍微有些顾虑的是 GitHub Sponsors。这一功能曾是 Zig 早期募资成功的关键,也仍占项目收入的很大部分。2024 年,GitHub Sponsors 为 Zig 软件基金会贡献了超过 17 万美元,是其最大的收入来源。

对此,Kelley 特别感谢曾经的 GitHub 开源项目产品经理也是 GitHub Sponsors 功能的创造者 Devon Zuegel 的贡献:“她如天使般出现,让 GitHub 成为数千开发者可靠的收入来源。在她的领导下,GitHub Sponsors 的未来一片光明,但她也选择去追求更大的机会。自她离开后,这项产品同样被忽视,并开始走下坡路。”
“我们认为这是一种潜在风险,”Kelley 也在呼吁赞助者改用其他渠道捐助,例如同样是非营利组织的 Every.org。
当前,Zig 的 GitHub 仓库已经设为只读,主仓库的 canonical origin/master 分支迁移至 Codeberg(https://codeberg.org/ziglang/zig.git)。
Kelley 采用的迁移策略也相对简单:为规避 GitHub 的激进供应商锁定,其保留现有 Issue 不迁移,但在 Codeberg 上从 30000 开始计数,以保持编号清晰。
Kelley 表示:“请将 GitHub 上仍未关闭的 Issue 看作是按需复制,无需全部迁移,除非你需要编辑或补充评论。我们仍会关注已开放的 Pull Request 和 Issue,请放心。”
整体而言,Codeberg 目前托管着超过 32 万个项目,使用的是可自托管的开源软件 Forgejo。使用 Codeberg 是免费的,但仅面向开源项目;其使用条款只在有限情况下允许私有仓库,例如“为 FLOSS(自由/开源软件)项目必需的内容,如存放密钥、团队内部讨论,或暂时隐藏尚未准备公开的项目”。相比之下,GitHub 即使在免费账户下也允许商业用途的私有仓库。

开源浏览器开发者:“GitHub 不再是理想选择”
无独有偶。除了 Zig,一款极简轻量级浏览器 Dillo 的开发者 Rodrigo Arias Mallo 也加入了从 GitHub 迁移的队伍中。他希望为 Dillo 找到一个更友好、能够解决现有问题的新家。

最初,Dillo 的源码和网站被上传到 GitHub,但 Rodrigo 现在认为,这已经不再是理想选择。
Rodrigo Arias Mallo 坦言,GitHub 的确在存储 Dillo 的各类仓库、运行多平台(如 Windows、macOS、部分 BSD)的 CI 任务方面帮了不少忙,“因为我手头没有这些平台的机器”。
不过,随着时间推移,GitHub 这一平台暴露出越来越多不适合作为 Dillo 主要开发平台的问题,譬如
前端不友好:GitHub 的网页在没有 JavaScript 的情况下几乎无法使用,这让用 C++、C、HTML、CSS 编写的 Dillo 浏览器几乎无法查看 issue、pull request、源代码或 CI 日志,而这些本质上只是普通 HTML 内容。过去 GitHub 会优雅降级,但现在已经不再。同时,页面对资源的需求很高,而渲染的内容大多只是静态文本。
单点控制风险:Rodrigo 表示,“GitHub 是由单一实体控制,它随时可能单方面封禁我们的仓库或账号。这样我们甚至无法在原链接上通知社区发生了什么。如果没有完整的本地备份,这会造成数据丢失。”
使用体验下降:在使用体验上,GitHub 也变得越来越慢,影响开发流程。同时它要求一直保持高速网络连接,而 Rodrigo 并不总能做到。此外,GitHub 强调“推模式”——只要项目有新变化,你就会收到通知。Rodrigo 称,自己不喜欢这种方式,更希望采用“拉模式”:只有当自己主动查看时才获取更新。这也让他可以更轻松地离线工作。可惜现在许多替代平台也开始模仿 GitHub 的推模式。
社区管理不足:从社区管理角度看,它缺乏足够的用户管理工具,特别是在非技术用户数量远超开发者的项目里。当开发者正在讨论的 issue 被大量从未贡献过项目的用户评论刷屏时,往往弊大于利,长久下来会令开发者精疲力尽。
过度拥抱 AI:GitHub 正紧跟 LLM 和生成式 AI 这股潮流,但这趋势正在摧毁开放网络(剩下的部分)。对 Rodrigo 来说,影响直接可见:许多网站为了防止 LLM 抓取导致过载,而设置了 JS 墙甚至浏览器指纹识别,这也阻挡了 Dillo 用户。Rodrigo 称,自己不希望再为这种趋势添砖加瓦。“虽然把 Dillo 迁走并不会阻止 GitHub 抓取我们的代码,但至少我不会继续主动助力。”
最终,在考察替代平台后,Rodrigo 决定自托管 Dillo,将重要数据迁移到 Git 仓库,并在多个平台建立镜像。他购买了 dillo-browser.org 域名,租用一台小型 VPS,网站目前可访问 https://dillo-browser.org/ 。
为了在 Dillo 浏览器中查看仓库,他选择了轻量级 Git 前端 cgit,并对 CSS 做了调整。漏洞追踪系统则用自己开发的 C 工具 buggy,解析 Markdown 文件生成静态 HTML 页面,确保数据安全且可离线编辑。相关页面可访问 https://bug.dillo-browser.org/ 。邮件列表归档由三个独立外部服务保存,并计划进一步备份。关键数据现已在 Git 仓库中,可镜像到任意代码托管平台,降低单点故障风险。
Rodrigo 表示,迁移涉及多项变动,需要时间稳定,GitHub 仓库在迁移期间仍会更新,并会最终归档而不删除任何 commit 或旧版发布包。他对自托管的成果感到满意:“我们以相对低成本和极小能耗搭建了一个完全独立的项目基地,至少在最糟情况下可以维持三年。”

“将我的代码迁移到 Codeberg,是一种对 GitHub 的抗议”
与此同时,一位名为 Eldred Habert 的开发者也将自己的 gb-bootroms 开源项目代码仓库从 GitHub 迁移到 Codeberg,他还把自己迁移的经验完整地分享出来。

做出这个决定的原因,Eldred Habert 写道:
是因为 GitHub 越来越积极地推动 AI 解决方案,而我不同意其带来的伦理和生态后果;再加上它与 Elon Musk 的合作(现在支持 Grok)以及其他一些原因。
我只是不同意那个平台的政策,所以想退出,同时也算是一种抗议。而且我也决定言行一致:我现在也在捐助 Codeberg,因为他们不是混蛋,并且真的在努力做正确的事情,所以他们值得支持。
尽管我希望能神奇地“一键删除一切又不出错”,但现实并不允许。那些原本托管在 GitHub 上的 fork 仓库必须保留,以免 PR 崩坏(不过我已经删除了过时的 fork);同时,网上还有很多链接指向我的各种仓库。因此,我选择在迁移后的仓库里放一个提示,说明它们已迁移。

网友热议
社区对 Kelley 的迁移决定反应不一。确实有开发者对 GitHub 表示不满,主要是界面性能变差与 AI 功能“泛滥”。
不过,也有人认为,这仅是早期敏感项目的个体选择。
还有网友评论道:
不同的开发者有各自偏好的工作和协作方式。我怀疑开源社区会集中在某一个单一的解决方案上。我认为我们正处于一个“重新去中心化”的阶段,开发者会把他们的项目迁移到能够满足个人或团队在控制权、托管管辖权、企业或社区所有权、工作流程以及正常运行时间等方面需求的平台上。这是因为源码托管平台之间的竞争日益激烈。不同的细分需求能够通过各自偏好的平台得到满足,这本身是件好事,尽管对于那些希望在不太知名的平台上提交补丁的开发者来说,可能会稍显不便。
我们正处在“离散化阶段”;类似的公告接连不断,每条都指向不同的 GitHub 替代方案。我猜测,再过几个月,各个社区可能会集中到一个占主导地位的平台。我很好奇,这个平台会是现有的某一个,还是全新的出现。也许会有某个知名公司或个人推出新的平台,营销做得好,然后一统天下。
其实随着微软加深对 GitHub 的 AI 掌控,开发者对平台未来的信任正在面临新考验。你认为 GitHub 是否仍值得信赖?这些迁移潮会加速,还是只是阶段性波动?
参考:
https://dillo-browser.org/news/migration-from-github/
https://eldred.fr/blog/forge-migration/
https://ziglang.org/news/migrating-from-github-to-codeberg/
https://news.ycombinator.com/item?id=46096800
推荐阅读:
C++之父亲临北京,AI 原生时代最值得参加的系统软件技术大会日程发布
“18个月火速弃用Office!”7年前立的Flag翻车,这家巨头至今未能完全摆脱微软,现任高管:当初预估得太乐观
仅2.5万美元就“出卖”公司?员工变“内鬼”,将内部截图卖给黑客,引网友热议:这是低薪惹的祸?
【活动分享】2025 年是 C++ 正式发布以来的 40 周年,也是全球 C++ 及系统软件技术大会举办 20 周年。这一次,C++ 之父 Bjarne Stroustrup 将再次亲临「2025 全球 C++及系统软件技术大会」现场,与全球顶尖的系统软件工程师、编译器专家、AI 基础设施研究者同台对话。
本次大会共设立现代 C++ 最佳实践、架构与设计演化、软件质量建设、安全与可靠、研发效能、大模型驱动的软件开发、AI 算力与优化、异构计算、高性能与低时延、并发与并行、系统级软件、嵌入式系统十二大主题,共同构建了一个全面而立体的知识体系,确保每一位参会者——无论是语言爱好者、系统架构师、性能优化工程师,还是技术管理者——都能在这里找到自己的坐标,收获深刻的洞见与启发。详情参考官网:https://cpp-summit.org/

4505

被折叠的 条评论
为什么被折叠?



