也许你是不多的没有注意到的人之一,但是几个月前,微软收购了 GitHub。 这两家公司都没什么问题。 近年来,微软已成为开源的积极支持者,自 GitHub 成立以来,它一直是大量开源项目的实际代码仓库。
但是,最近的收购可能让你有点坐立不安。 毕竟,没有什么比公司收购更能让你意识到你的开源代码一直放在商业平台上了。 也许你还没有准备好立即跳槽,但至少了解你的选择会有所帮助。 让我们浏览一下网络,看看有什么可用的。
选项 1:GitHub
说真的,这是一个有效的选择。 GitHub 没有不诚实行为的历史,而且微软最近肯定对开源表示赞赏。 将你的项目保留在 GitHub 上并采取观望态度没有错。 它仍然是软件开发领域最大的社区网站,并且仍然拥有用于问题跟踪、代码审查、持续集成和通用代码管理的最佳工具。 而且它的基础仍然是 Git,这是每个人最喜欢的开源分布式版本控制系统。 你的代码仍然是你的代码。 如果没有损坏任何东西,将事情保持原样并没有错。
选项 2:GitLab
GitLab 可能是替代代码平台的领先竞争者。 它是完全开源的。 你可以直接在 GitLab 的网站上托管你的代码,就像在 GitHub 上一样,但是你也可以选择在你自己的服务器上自托管你自己的 GitLab 实例,并完全控制谁可以访问所有内容以及如何管理所有内容。 GitLab 几乎具有与 GitHub 相同的功能,有些人甚至可能会说它的持续集成和测试工具更胜一筹。 尽管 GitLab 上的开发者社区肯定比 GitHub 上的小,但仍然不容小觑。 并且你可能会在那里的人群中找到更多志同道合的开发者。
选项 3:Bitbucket
Bitbucket 已经存在很多年了。 在某些方面,它可以作为 GitHub 未来的一面镜子。 Bitbucket 在八年前被一家更大的公司(Atlassian)收购,并且已经经历了一些过渡过程。 它仍然是一个像 GitHub 这样的商业平台,但它远非一家初创公司,而且在组织上处于非常稳定的地位。 Bitbucket 共享 GitHub 和 GitLab 上的大多数功能,以及它自己的一些新颖功能,例如对 Mercurial 代码仓库的本机支持。
选项 4:SourceForge
开源代码仓库网站的老大哥是 SourceForge。 过去,如果你有一个开源项目,SourceForge 是托管你的代码和分享你的版本的唯一场所。 花了一点时间才迁移到 Git 进行版本控制,并且它有自己的一系列商业收购和重新收购事件,以及一些开源项目的不幸捆绑决策。 也就是说,SourceForge 似乎已经从中恢复过来,并且该网站仍然是相当多的开源项目所在地。 然而,很多人仍然感到有点不爽,并且有些人不太喜欢它为平台盈利的各种尝试,因此请确保你带着开放的眼光进入。
选项 5:自己动手
如果你想完全控制你的项目的命运(并且没有人可以责怪,只能责怪自己),那么自己做所有事情可能是你的最佳选择。 对于大型和小型项目来说,这都是一个很好的选择。 Git 是开源的,因此很容易自托管。 如果你想要问题跟踪和代码审查,你可以运行 GitLab 或 Phabricator 的实例。 对于持续集成,你可以设置你自己的 Jenkins 自动化服务器实例。 是的,你需要对你自己的基础设施开销和相关的安全要求负责。 但是,让自己设置好并不难。 而且如果你想要一种万无一失的方法来避免受制于其他任何平台的突发奇想,这就是方法。
选项 6:以上所有
这就是这一切的美妙之处:尽管这些平台上散布着专有外衣,但它们仍然建立在可靠的开源技术之上。 不仅是开源的,而且明确地设计为可以分布在大型网络(如互联网)上的多个节点上。 你不需要只使用一个。 你可以使用几个……或者全部。 使用 GitLab 构建你自己的保证主基地,并在 GitHub 和 Bitbucket 上拥有克隆的代码仓库,用于问题跟踪和持续集成。 将你的主要代码库保留在 GitHub 上,但在 GitLab 上拥有“备份”克隆,让你自己安心。
关键是你拥有选择。 由于非常有用的和强大的项目的开源许可,我们才拥有这些选择。 未来是光明的。
当然,我肯定会错过一些可用的开源选项。 随意提出你最喜欢的选项。 你是否正在使用多个平台? 你的设置是什么? 在评论中让大家知道!
18 条评论