上世纪 90 年代,Sun 公司绝对是程序员心中的圣地。
![]()
Sun Microsystems 拥有当时最先进的 CPU、最强大的操作系统 Solaris,以及最流行编程语言 Java。
那时候,进入 Sun 工作,就像10年代加入Google,现在加入OpenAI ,Anthropic。
但就在 Sun 如日中天的时候,一个年轻人却看到了未来的危机。
他说:如果 Sun 不开放操作系统,迟早会被 Linux 抢走市场。
当时很多人觉得他想多了。
毕竟,Sun 的服务器技术那么强,又卖得那么好(那么贵),怎么可能输给一个免费的开源系统?
结果证明,真理掌握在少数人手中。
在IBM等巨头的支持下,免费的 Linux,加上越来越便宜的 x86 服务器,很快冲击了 Sun 的核心业务。曾经辉煌无比的 Sun,最终走向衰落。
(Sun 的故事在这里 -> )
这个提前看穿未来的人,就是 Larry McVoy。
![]()
但戏剧性的是:几年之后,这位曾经坚定支持开源的人,却占到了开源的对立面。
01
开源先锋
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。
![]()
02
和开源决裂
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 故事在这里->
这激怒了Larry,他立刻宣布:BitKeeper 不再免费提供给 Linux 社区。
Linux 这下怎么办?难道重新回到邮件列表管理代码的时代?
Linus 的选择非常直接:自己写一个。
2005 年,Linus 暂停了一部分 Linux 开发工作,开始设计新的版本控制系统。
几天之后,这个项目已经可以自己管理自己的代码。
几周之后,它已经能够托管 Linux 内核。
几个月后,一个完整的版本控制系统诞生: Git
后来,Linus 把 Git 的维护工作交给 Junio Hamano,自己重新回到 Linux 内核开发。
大神就是大神。
(Junio Hamano的故事在这里:
03
走上“绝路”
失去 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 已经退休,生活滋润,他有一条超级棒的船,最喜欢的事情就是出海钓鱼,悠然自得。
向这位互联网的传奇老兵致敬!
![]()
![]()
![]()
![]()
![]()
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.