GitHub 之前的归宿
GitHub 并非开源软件的首个归宿,SourceForge 才是。在 GitHub 出现前,作者搭建了自己的 Trac 系统,管理着 Subversion 仓库等。后来,项目迁移到 Bitbucket,最终 GitHub 成为主流,作者将所有项目都迁移了过去。
GitHub 的重要性与现状
GitHub 在作者生命中极为重要,塑造了其开源身份,项目找到用户,建立了诸多职业关系和友谊。然而,作者对如今 GitHub 的现状既难过又失望,它不仅是代码存放地,更是社区聚集地。
GitHub 催生的现象
作者多次撰文探讨依赖关系,尤其是微依赖问题,认为 GitHub 催生了这种现象,虽不完全支持,但让开源更具包容性。GitHub 改变了开源面貌,npm 等系统改变了依赖关系模式,使代码发布和使用更便捷,项目数量激增。
更小的世界
在 GitHub 出现之前,开源世界更小,能依赖的项目数量有限。当时有知名项目由少数人长期维护,信任很重要,依赖涉及诸多环节,项目需自己的基础设施。
自建基础设施
作者早期开源项目运行在自建基础设施上,Subversion 让“自建代码托管平台”很自然。Mercurial 和 Git 出现后理念相反,但 GitHub 仍成了中心,这是现代开源领域的讽刺。
GitHub 的贡献
GitHub 虽存在问题,但过去和现在都是开源领域的巨大馈赠。它让创建和发现项目更容易,提供多种功能,还进行了存档工作,成为软件图书馆和公共资源索引。
npm 与依赖爆炸
微依赖问题因 GitHub 和 npm 的托管基础设施而产生,让创建等软件包看似无成本。GitHub 有助于解决责任和许可证问题,成为提供信任的系统一部分。
GitHub 正在慢慢衰落
GitHub 正在失去不可替代的特质,人们对其不稳定等情况感到厌倦。现在有影响力的人也在谈论离开,如 Mitchell Hashimoto 宣布 Ghostty 将迁移,还有其他项目也迁移到非 GitHub 平台。
分散化的代价
回归多平台会增加去中心化程度,但可能让网络遗忘一些东西,代码虽分布式,但社交环境往往不是,信息易消失。
我们需要一个存档库
作者希望有公开、稳定、资金充足的开源软件存档库,确保重要东西不消失。GitHub 意外成为存档库,但不应让开源记忆依赖其健康发展。GitHub 出现前世界更具自主性但有更多损失,未来应保留记忆、减少依赖。