我不会摒弃 GIthub 但准备拥抱 Gitlab

前言

最近 IT 界的大新闻,微软已经准备收购 Github,花费金额 50 亿(最新数据 75 亿)美元。50 亿这个数字对我而言并没有感到震惊,让我意外的是 Github 居然会沦落到被收购。而且真是说时迟那是快啊,刚曝光没几天就已经确认宣布在下周一开始收购过程。

这不禁让我产生担忧 Github 是否还能像从前那样中立,毕竟曾经的微软几乎就是开源的敌人,但现在却要收购全球最大的开源社区。

我如何看待微软

我对微软并没有特别的反感,当然更不会喜欢。只是我个人一向厌恶使用封闭的东西,不想被套在一个一家独大的商业生态里边。恰好微软就是这么一个存在,例如说使用了微软的 C# 语言就意味着要使用 Windows 操作系统、VS 开发工具、甚至很多时候还会被迫选择 SQLServer 数据库以及更多的微软自家生态产品。的确微软能提供一系列的技术解决方案这是一件很厉害的事,并且微软的东西往往技术难度低且企业支持服务良好,但这同时也意味着你被紧紧的套在了微软自己的生态“帝国”里边。

以前的微软和开源几乎是反其道而行的。微软不仅封闭更重要是完全无法做到像开源社区那样运营一项技术或者产品,就像我上面描述的那样。当然现在的微软已经改善了许多许多,近些年微软可谓大力发展开源力量,拥抱与支持开源项目。它在 Windows 上支持 Linux 发行版(WSL),开源 .NET Core(让 C# 语言真正的跨平台),成为 GIthub 上开源贡献力最高的组织之一,创造了开源的跨平台编辑器 VSCode(我也是忠实用户)等。所以实际上我上面说的很多忧虑已经不存在了,微软的确不再那么封闭。

但是回顾一下上一个微软的 CEO 鲍尔默是如何看待开源的?他曾经公开说过 Linux 是“癌症”,GPL 许可是“病毒”。这个人几乎从骨子里就反对“开源”。这一届的微软 CEO 如此友好的对待开源,这巨大的反差说不准也许下一届微软 CEO 会被鲍尔默“更烂”?毕竟无论如何我都认为开源是微软为了给自己的商业生态铺路,目的是自家的商业产品(例如很多人认为的 Azure)。开源是手段而不是目的。Github 还能保持几年不变,这都是个未知数。

Gitlab

Gitlab 我也用过好几年了,当初是用来部署在自己的服务器上,用作私有 Git 托管平台。很多公司内部也使用 Gitlab,包括国内的一些公开的 Git 托管平台也是基于 Gitlab 改造的(例如 OSC 的 Git)。
不过说到底以前我对 Gitlab 的印象就是这是一个优秀的搭建私有 Git 托管服务的方案,其实那时候 Gitlab 官网最明显的一句话就是 “Better than GitHub”,但我却从来没有将它与 Github 进行对比过。在很长的一段时间里,Gitlab 是开源软件,而 Github 是平台。Gitlab 运营平台的能力肯定是不足的(例如曾经发生过删库事件)。

而我最近专门去 Gitlab 注册了一个账号,也不私有部署了,直接使用它们的公开服务。将所有私有仓库全部转移到了 Gitlab 上,并且是免费的。效果自然是非常好的,总的来讲我自然也希望 Gitlab 越来越好:)
对了,值得一提的是现在的 Gitlab 有强大的 DevOps 工具链支持,虽然这对于我而言不重要(因为我自己的服务器有自己的方案)以及免费的私有仓库,这些相比 Github 都是优势。

PS:前不久著名的开源项目 GNOME 完成了对 Gitlab 的转移。

最后

我不会摒弃 Github,说实话因为一个收购新闻当然没有必要,毕竟 Github 会不会产生不好的变化还是个未知数呢。但是能想象的是,微软的众多竞争对手公司恐怕要将开源产品的托管转移了。

不过无论如何,这都不影响你考虑将 Gitlab 作为备案方案或者尝试一下它。毕竟有了竞争对手和用户准备迁移的态度才能遏制微软破坏中立性的行为,这对于 Github 而言是有利的:)