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