Apache 基金会将其所有项目双主镜像至 GitHub
Apache 基金会（ASF）正式宣布，该基金会已经将其旗下的 350 多个项目、多达 2 亿行的代码迁移至 GitHub。
GitHub Apache ASF
Apache 基金会（ASF）正式宣布，该基金会已经将其旗下的 350 多个项目、多达 2 亿行的代码迁移至 GitHub。
![](/data/attachment/album/201904/30/233559ehzsvrz0zvxrocb1.png)


Apache 基金会（ASF）[正式宣布](https://blogs.apache.org/foundation/entry/the-apache-software-foundation-expands)，该基金会已经将其旗下的 350 多个项目、多达 2 亿行的代码从内部的 Git 基础设施迁移至 GitHub。


作为全球最大的开源基金会，ASF 拥有 730 名个人 ASF <ruby> 成员 <rp>  （ </rp> <rt>  Member </rt> <rp>  ） </rp></ruby>和超过 7000 名的 Apache 代码<ruby> 提交者 <rp>  （ </rp> <rt>  Commiter </rt> <rp>  ） </rp></ruby>，在其 20 年的历史当中，已经通过 300 万个代码提交累计贡献了多达 10 亿行的代码。


Apache 项目最初在 [ASF 基础设施](https://www.apache.org/dev/infrastructure.html)中提供了两种版本控制服务：Apache Subversion 和 Git。而多年来，越来越多的项目及其社区希望在 GitHub 上看到他们的源代码。但是由于这些代码在 GitHub 只是只读的镜像，因此在这些代码存储库上只能使用有限的 GitHub 工具。


“2016 年，基金会开始将 GitHub 的代码存储库和工具与我们自己的服务集成在一起。这使得部分选定的项目能够使用 GitHub 的优秀工具，”ASF 基础设施管理员 Greg Stein 说。 “随着时间的推移，我们改进、调试并巩固了这种集成。在 2018 年末，我们要求所有项目从我们内部的 git 服务转移到 GitHub 提供的服务。这种转变会将 GitHub 所有的工具带到我们的项目中，而我们在我们的基础设施上维护一个备用镜像。”


GitHub CEO Nat Friedman 表示：“我们很自豪能让开源社区这么长期的成员转移到 GitHub。……无论是与个人开源维护者和贡献者，还是与一些世界上最大的开源基金会（如 Apache）合作，GitHub 的使命是通过支持开源社区，满足他们的独特需求和帮助开源来成为所有开发人员的家，让项目茁壮成长。”


在 2019 年 2 月，迁移到 GitHub 的工作已经完成，ASF 自己的 git 服务退役。


“我们将继续试验和扩展 GitHub，以根据我们自己的需求和要求为我们的社区提供服务，”Stein 补充道。 “基金会已经开始与 GitHub 管理层密切合作，探索实现这一目标的方法，以及将来可能实现的目标。”


### 补充：Apache 基金会的项目并未“迁移”至 GitHub，而是做了个双主镜像


经过多位 Apache 基金会的贡献者解释，这则消息存在一定的误读，特此做个澄清。


据 Apache 基金会官方的[解释](https://blogs.apache.org/infra/entry/apache-and-github-a-friendly)，之前，Apache 基金会“有两个不同的 git 服务：gitbox 和 git-wip-us，后者是自 2010 年以来一直可用的最初的 git 服务”，而通常会在 GitHub 上建立一个只读镜像。


随着 Apache 基金会旗下各个项目表示出对利用 GitHub 基础设施服务的兴趣，从 2016 年中期，Apache 基金会建立了 [gitbox](https://gitbox.apache.org/)，以使项目能够正常使用 GitHub 服务。gitbox 提供的是一种双主镜像的仓库，即使用者可以在 GitHub 上进行提交、处理 PR 和工单等，也可以采用 Apache 内部账户进行相同的操作——而无论在任何一端的操作都是双向同步的。


到了 2018 年，基金会决定将所有使用 git 服务项目都迁移至 gitbox，使之可以利用 GitHub 生态的更多工具，并将 git-wip-us 服务废弃。这个工作已于 2019 年 2 月完成。


所以，现在的状态是：Apache 基金会旗下采用 git 作为版本仓库的项目，都迁移至 gitbox 了。这些项目既可以使用 GitHub 的基础设施和工具，也可以使用 Apache 基金会账户在 gitbox 上进行相同的操作。因此，这就是“通过集成了 GitHub 而扩展了 Apache 基金会的基础设施”（原新闻标题）。


感谢 Apache 基金会的贡献者“吴晟@skywalking”、“刘天栋Ted.开源社”和华为的姜宁提供的信息。

