上世纪 90 年代,Sun 公司绝对是程序员心中的圣地。

Sun Microsystems 拥有当时最先进的 CPU、最强大的操作系统 Solaris,以及最流行编程语言 Java。
那时候,进入 Sun 工作,就像10年代加入Google,现在加入OpenAI ,Anthropic。
但就在 Sun 如日中天的时候,一个年轻人却看到了未来的危机。
他说:如果 Sun 不开放操作系统,迟早会被 Linux 抢走市场。
当时很多人觉得他想多了。
毕竟,Sun 的服务器技术那么强,又卖得那么好(那么贵),怎么可能输给一个免费的开源系统?
结果证明,真理掌握在少数人手中。
在IBM等巨头的支持下,免费的 Linux,加上越来越便宜的 x86 服务器,很快冲击了 Sun 的核心业务。曾经辉煌无比的 Sun,最终走向衰落。
(Sun 的故事在这里 -> 曾经对程序员最好的公司,倒下了)
这个提前看穿未来的人,就是 Larry McVoy。

但戏剧性的是:几年之后,这位曾经坚定支持开源的人,却占到了开源的对立面。
1994 年,Larry 离开 Sun,加入 Linux 阵营。
他开发了一个著名的性能测试工具 LMbench,这个工具后来成为 Linux 内核开发者经常使用的基准测试工具。
也正因为如此,他和 Linus Torvalds 建立了深厚关系。
当时 Linux 内核的发展非常原始,代码主要靠邮件列表交流,开发者通过发送 patch(补丁)来合并代码。
Linux 刚开始规模不大,这种方式还能撑得住。
但到了 1998 年,Linux 代码越来越庞大,全球开发者越来越多,Linus 开始感受到巨大压力。
当时已经有一些源码管理工具,比如 CVS、Subversion。
但是 Linus 看不上,原因很简单:这些工具适合公司内部开发,却不适合 Linux 这种全球分布式协作模式。
Linux 需要的是:
全球开发者可以同时工作
快速创建分支
方便合并代码
不依赖中心服务器
而 Larry 正好有相关经验,他在 Sun 工作期间,曾经参与开发过一个叫 TeamWare 的分布式源码管理系统。
这个系统不仅被 Sun 内部用于管理 Solaris 和 Java 源码,也有不少外部用户。

一天晚上,Larry 邀请 Linus、Dave Miller 等 Linux 核心开发者到家里吃饭。
饭桌旁,他拿起白板,花了几个小时描述自己心中的下一代源码管理工具。
Linus 听完后很感兴趣:“这个东西很棒,如果你能做出来,我肯定会用。”
Larry 很自信:“没问题,我以前做过,半年应该差不多。”
结果……他严重低估了难度,半年变成了两年。
最终,这个工具诞生了:BitKeeper。

BitKeeper 做出来以后,Larry 的想法发生了变化。
他开始认为:单靠开源,很难维持一个长期的软件项目。
一个开源项目刚开始时,大家兴趣浓厚。写代码、修 bug、讨论架构,都很有激情。
但是几年以后呢?代码越来越复杂,维护越来越辛苦。大量工作变成了重复劳动。
如果没有收入支撑,很难保证有人长期投入。
这其实是个挺现实的逻辑,并且多年后很多开源软件的遭遇(OpenSSL,xz Utils,cURL, ffmpeg,Tailwind ,sudo.....)证明他是对的!
Larry再一次预测了未来!
所以 Larry 决定:BitKeeper 不开源,采用商业模式收费。
这在当时引发了巨大争议:你一个开源软件的先锋,怎么搞了一个闭源的商业软件?
但 Linus 的态度却比较务实,他并不排斥商业软件,只要工具足够优秀,能够解决问题,就可以使用。
于是 2002 年,Linus 做出了一个让很多人意外的决定:Linux 内核开始使用 BitKeeper 管理代码。
原因很简单:BitKeeper 太适合 Linux 了,它可以轻松处理分支和合并,让 Linux 内核开发从 Linus 一个人扛着,变成多个维护者协同工作。

不过,BitKeeper 免费社区版附带了一些限制:
第一,使用社区版的人不能参与开发竞争性的版本控制工具。
第二,BitKeeper 公司会保留部分相关元数据,用于检查许可证滥用。
这两个条件,让很多开发者不舒服:“为什么 Linux 这个最大的开源项目,要依赖一个闭源工具?”
那些大牛们也尝试寻找替代方案,其中包括 arch、darcs 和 monotone,但是几年过去,没有一个工具能够达到 BitKeeper 的水平。
2005 年,Samba 和 rsync 创始人 Andrew Tridgell 为了寻找替代方案,开始研究BitKeeper 的通信协议。
(Andrew Tridgell 故事在这里->他写的软件支撑着整个互联网,如今却因为 AI 被骂惨了 !)
这激怒了Larry,他立刻宣布:BitKeeper 不再免费提供给 Linux 社区。
Linux 这下怎么办?难道重新回到邮件列表管理代码的时代?
Linus 的选择非常直接:自己写一个。
2005 年,Linus 暂停了一部分 Linux 开发工作,开始设计新的版本控制系统。
几天之后,这个项目已经可以自己管理自己的代码。
几周之后,它已经能够托管 Linux 内核。
几个月后,一个完整的版本控制系统诞生: Git
后来,Linus 把 Git 的维护工作交给 Junio Hamano,自己重新回到 Linux 内核开发。
大神就是大神。
(Junio Hamano的故事在这里:日本程序员的技术品位真的很好吗?)
失去 Linux 这个“超级用户”之后,BitKeeper 依然活了一段时间。
公司大约 20 多人,一年几百万美元收入,说实话,小日子过得不错。
但是人比人气死人,BitKeeper最大竞争对手是Rational的ClearCase,每年营收高达3.5亿美元。
当然,现在ClearCase也不行了。
因为它们面对的是是 Git 这个席卷全球的竞争者。
Git 免费、开源,而且背靠全球最大的开发者社区GitHub,结果可想而知。
2016 年,BitKeeper 终于宣布开源,但这个时候,时代已经改变。
2020 年,BitKeeper 最终停止开发。

我查了一下,到2026年,全球还有大约16家公司还在使用BitKeeper,这些客户大多是像IBM、Intel、Cisco这样的巨无霸企业,估计是因为历史遗留系统或特定需求,没有办法才继续使用。
2015年,Git诞生10周年之际,有人问 Larry:“如果当年你把 BitKeeper 开源,会不会不一样?”
Larry 的回答很坦率:后悔?当然。如果当时我真正理解开源的力量,我一定会选择开源。
如今的 Larry 已经退休,生活滋润,他有一条超级棒的船,最喜欢的事情就是出海钓鱼,悠然自得。
向这位互联网的传奇老兵致敬!






左右滑动查看更多