上世纪90年代,Sun公司是程序员最向往的公司之一。
它拥有同时代最好的CPU,最好的操作系统,最好的编程语言,可谓如日中天。
但是有个年仅三十岁出头的年轻人却看到了其中的危机,他说:
如果我们不开源操作系统,将来市场将会被Linux所抢占。
事实证明他是对的,免费的Linux,搭配廉价的x86 CPU很快把Sun公司的高端服务器打得溃不成军。
这个人就是Larry McVoy。
但是谁也没有想到的是,仅仅五年以后,这个开源拥护者就走到了开源的对立面,更是在十年之后和世界上最大的开源社区决裂了。
1994年,Larry离开Sun公司,转身投入Linux的怀抱,他开发了著名的性能分析工具
LMbench
,这是 Linus 和其他一些内核黑客喜欢的基准测试套件。
从此他成为Linus的亲密盟友。
当时的Linus,还是依靠邮件列表和文件diff来维护Linux内核,刚开始还好,到了1998年,繁重的工作让他疲惫不堪。
市面上有CVS和Subvision这样的SCM(Source Code Management ),但Linus不喜欢,认为是垃圾,因为
它们无法匹配Linux那全球分布式的开发模式和流程
。
正好,Larry在Sun公司开发过一个叫做
Teamware
的软件,这是个分布式的源码管理系统,不但在Sun内部存储Solaris和Java的源代码树,在外部也有很多客户在使用。
一天晚上,Larry邀请Linus、Dave Miller 等内核大神到家里吃晚饭,一起讨论新的SCM应该是什么样子。
Larry在白板上画了三四个小时,给他们讲了自己对分布式SCM的想法。
Linus被打动了:“嗯,这很酷,如果你能把它搞出来,我肯定会用它。”
Larry说道:“没问题啊,我以前做过,6个月估计就差不多了。”
Larry显然过于乐观了,新SCM两年以后才开发出来,这就是鼎鼎大名的
BitKeeper
。
软件开发出来了,但是Larry的理念发生了重大的变化:“开源作为一种孤立的商业模式几乎是不可持续的!”
Larry认为:
对于开源项目来说,在开始的时候是有趣的,程序员愿意在上面花费时间。随着时间推移,就不那么好玩了,苦力活越来越多,没有收入作为动力,就没人愿意维护了,这个项目就可能死掉。
如果收费的话,才有可能让这个项目继续下去,fix bug,开发新功能。
于是,Larry决定:BitKeeper不开放源码,收费。
一个不开源的软件,Linux社区会用吗?
答案是:会的。
2002年,Linus做了一个让人震惊的决定,选择BitKeeper来进行内核开发。