GitHub 有替代品,但没有替换者

GitHub 作为代码托管平台的主导地位,被认为更多依赖于强大的网络效应、慷慨的免费 CI runners——尤其是 Windows 和 macOS——以及低摩擦的贡献工作流,而不只是 git 本身。评论者探讨了 Forgejo、Codeberg、Sourcehut、Radicle、Tangled 和自托管方案等替代品,但指出它们在可靠性、维护负担、可发现性、联邦化以及 AI 生成代码禁令等政策方面都有取舍。许多人最终认为,虽然 GitHub 核心功能的技术替代品存在,但它的社交编码生态和免费基础设施仍然很难被完全复制。

以免费 CI 和算力作为主要锁定效应

  • 许多人把项目留在 GitHub 上,主要是因为免费提供 Windows/macOS runners;要在别处复制这种跨平台 CI,无论时间还是金钱成本都很高。
  • 有些人使用 Forgejo 和 NixOS 自托管,并表示性能比 GitHub Actions 更好,但也承认部署和持续维护有额外开销。
  • 评论者强调,人们低估了 Microsoft 为公开仓库承担大量 CI 成本的价值;尤其是业余项目作者,如果换到别处,要么减少 CI 使用,要么就得真金白银付费。

自托管与替代 forge

  • 提到的替代方案包括:Forgejo、Codeberg、GitLab、Bitbucket、Sourcehut、Tangled、Radicle、GitSocial、v-it.org、gitnostr。
  • Forgejo + 自托管 runners 被认为对愿意管理基础设施的人来说是可行的;Oracle 的免费云层级就是一个例子,但存在随时被删库的风险。
  • Sourcehut 受到称赞,尤其是基于电子邮件的工作流,但缺少 LFS;也被认为对贡献者要求更高。
  • Bitbucket 被批评与 GitHub 相比速度慢且不可靠。
  • 有人声称 Codeberg 是“1:1 替代品”;也有人说它的强政策(例如反对 AI 生成代码、“vibecoding”)限制了它作为通用替代品的能力。

社交功能、发现能力与网络效应

  • 分歧很大:有些人高度依赖 GitHub 的 stars、动态流、搜索和 fork 网络图来发现和追踪项目;另一些人几乎从不通过 GitHub 本身发现软件,而是依赖博客、Reddit、HN。
  • 围绕账号、低门槛提交 issue/PR,以及品牌认知形成的网络效应,被认为是 GitHub 最难替代的优势。
  • 有几个人希望有联邦式社交功能(stars、动态、forks),这样他们就能离开 GitHub 而不丢失那张关系图。

去中心化与联邦化 प्रयास

  • Forgejo 和 ForgeFed,以及基于 ActivityPub 的联邦化(包括联邦式 starring)被认为是正在出现的发展方向。
  • Radicle 因把 issues/PR 和身份建模为 git 对象而受到称赞,这让仓库更自包含,也更自然地支持联邦;但它仍被视为实验性项目,而且缺乏成熟的 CI。

版本控制与理念

  • 一个很长的子讨论澄清了 Git 和 GitHub 的混淆:Git 是去中心化的 VCS;GitHub 是建立在其上的中心化 forge。
  • 关于 Git vs SVN/Mercurial 的争论:Git 更难推理,但提供了廉价分支和强大的合并;SVN 的模型更简单,但能力较弱。

私有/闭源与公司

  • 对小公司来说,支持 GitHub 的理由包括:便利、集成 issues/CI/托管、缺乏 IT 人员,以及围绕自建服务器托管的内部官僚流程。
  • 反方观点是:如果代码是核心资产,自托管能确保控制权、备份,以及不依赖第三方修改条款或服务失败。

可靠性、伦理与 UX

  • 有些人因为可靠性问题和宕机想离开 GitHub;另一些人则认为,相比别处“更糟的公司”,伦理抵制有点夸大。
  • 有用户因为 GitHub 的现代 UI 阻止使用 NoScript/基础 HTML 而离开。
  • GitHub 被描述成两个产品:一个是社交型 OSS 平台(难以替代,主要是只读使用);另一个是团队工具(在这方面,UX、通知和 PR/issue 工作流常常让人感到痛苦且“企业化”)。
  • GitLab 被批评更有企业味,而且在发现能力上更弱,尽管对许多用例来说功能完整。