加载失败
这篇讨论回顾了 GitHub 出现前的开源基础设施:SourceForge、Trac、Bugzilla、CVS、SVN、Mercurial 和 Bitbucket 之类的工具各管一段,项目页、邮件列表、issue tracker 和代码仓库常常是分开的。评论里反复强调,GitHub 改变的不只是 Git 托管,而是把用户身份、短而清晰的 URL、issues、pull request、wiki、release 和 CI 收拢成一个极低门槛的入口。近年的 Zig、Ghostty 等迁移到 Codeberg(一个非营利的开源代码托管平台)或自托管 Forgejo(一个可自托管、强调 federation 的开源 forge)后,大家又开始讨论中心化依赖、账号摩擦、Spam,以及 Microsoft 旗下 GitHub 的 AI 和服务策略变化。与此同时,Software Heritage(一个由 Inria、UNESCO 等支持的长期代码归档项目)和更去中心化的 federation 方案,被拿来和 GitHub 作为“开源社会基础设施”的角色对照。
很多人认为 GitHub 赢在把仓库挂到人名下的低门槛体验,而不只是 Git 本身。个人主页、github.com/user/repo 这种可记忆 URL、快速开仓库,以及后来补齐的 issues、pull requests、release pages、wiki、webhooks 和 CI,让“先试试看”几乎没有心理负担。评论里还强调,GitHub 把信任和社会关系直接嵌进代码协作里,开源项目因此更像一个可被发现和追踪的公共空间。也有人补充说,这种以路径和清晰 URL 为中心的产品感,在当年确实相当新鲜。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]
Fossil 的支持者把它看成 GitHub 之外另一条路线:把代码、wiki、forum、tickets 放进同一个工具,背后还是一个可复制、可备份的 SQLite 文件。对自由职业者或小团队来说,这能把客户约定、项目笔记和历史决策都留在同一个上下文里,减少翻邮箱、翻文档和拼散落工具的成本。有人还提到它自托管很轻,只要少量 web server 配置就能跑,甚至对 AI agent 来说,repo 变成可直接查询的数据库也很诱人。反对者则认为 Fossil 太“有主见”,在大团队、复杂工作流、附件很多的 issue 场景里会变得别扭,而且 Wiki/docs 分裂、自动关闭 issue 等问题也没有完全打通。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9]
另一条主线是“GitHub 正在变成开源图书馆”,但这种集中化也意味着更脆弱:一旦 DMCA、封禁、策略变更或服务中断,fork、discussion、issue 可能一起受影响。评论里提到 Nintendo 模拟器项目被下架、xz backdoor 相关讨论短暂消失、以及对伊朗等地区用户的封锁,都是让人怀疑单一平台是否适合承担公共档案责任的例子。有人因此主张人人本地先 clone,再把长期保存交给更公共、更 boring 的机构,而不是让一家私营公司充当“open source 的 Alexandria 图书馆”。Software Heritage 和类似的镜像/分发思路就被频繁拿来对照。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12]
围绕 federation 的讨论集中在身份和摩擦:如果每个 forge 都要重新注册账号,那提交 issue、review 或 PR 的成本会迅速上升。有人希望用 ActivityPub、Fediverse 或 Forgejo 的联邦能力,让一个账号跨站点使用,甚至把 Email 视为早就存在的“分布式 forge 协议”。但现实里的难点是 Spam、滥用和审核成本,像一些自托管实例已经不得不关闭本地注册,改成先去 Matrix 等外部渠道申请权限。GitHub 之所以难替代,也正是因为它把账号、发现、协作和反垃圾这几件事一起做了。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]
许多评论是在回忆 GitHub 之前的生态:SourceForge、Trac、Bugzilla、CodePlex、Bitbucket、CVS、SVN、Mercurial、Perforce、ClearCase、Visual SourceSafe 轮番登场。共同印象是这些工具要么配置繁琐、要么选项过多、要么与社区协作割裂,连开个 tracker、接个下载页或处理 spam 都不轻松。Git 的胜出则被归因于 Linux kernel 的背书和 Linus 的影响力,再叠加 GitHub 把 Git 包装成“可直接上手”的默认选择。也有人说自己仍然偏爱 Mercurial、Bazaar、Darcs 或 Jujutsu,但承认文化惯性已经把 Git 变成默认主流。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15]
讨论里也有明显的“后 GitHub”焦虑:Zig、Ghostty、Codeberg、GitLab、Forgejo 等名字反复出现,争论的是迁移到底只是姿态还是在现实中可持续。批评者把 GitHub 的问题归结为 Microsoft 收购后策略变化、AI 重点、Actions 不稳定、以及某些地区访问与数据可用性的风险。支持者则认为 Codeberg 的非营利结构、Forgejo 的 federation 方向,或者自托管服务,可能更符合开源长期利益。只是大家也承认,GitHub 的免费 CI、用户规模和“默认入口”地位仍然很难复制。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13]
Fossil: 把版本控制、wiki、forum、tickets 等整合在一起的协作工具,常被用作 GitHub 的小团队替代方案。
Software Heritage: 长期保存源代码及其元数据的非营利归档项目,目标是让软件历史可追溯、可检索。
Forgejo: 可自托管的开源 forge,常被视为 Gitea 的社区分支,并在推进 federation 方向。
ActivityPub: W3C 的联邦通信协议,常用于让不同站点或实例之间互相关注、发帖和互动。
Fediverse: 由多个互联实例组成的联邦网络,典型场景是 Mastodon 这类分布式社交服务。
SQLite: 轻量级嵌入式数据库,适合单文件存储和备份,也是 Fossil 的底层存储方式。