也许您是少数没有注意到的人之一,但在几个月前,微软收购了 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 条评论