2.1 集市模式的成功
Linux是颠覆性的,就在5年前(1991年),谁能想到,几千名散布在全球各地的开发者们,利用业余时间,仅仅是通过Internet这种脆弱的合作,就鬼斧神工般地造就了一个世界级的操作系统?
我肯定想不到。在1993年初Linux进入我视野的时候,我已经在UNIX和开源领域有10年开发经验了。我是20世纪80年代中期GNU最早的贡献者之一,当时我已经在网上发布了一些开源软件,而且还正在开发或者与人合作开发一些程序(如nethack、Emacs的VC和GUD模式、xlife等),这些程序直到现在仍然被广泛使用着,我想我懂这个。
Linux推翻了很多我以为我懂的东西,多年以来,我一直在宣扬“小工具”、“快速原型法”以及“演化式编程”等UNIX信条。但我也相信,如果超过了一定的复杂度,更集中式的管理和更严格的流程是有必要的。我相信大多数重要软件(操作系统和真正大型工具如Emacs编辑器)需要像建造大教堂那样,在与世隔绝的环境下,由天才式专家或几个行家里手精心打造,不成熟时绝不发布beta测试版。
Linus Torvalds的开发风格是:早发布、常发布、委托所有能委托的事、开放到几乎是混乱的程度,这些都令人感到惊讶不已。在Linux社区里,没有建筑大教堂那样的安静和虔诚,倒更像是一个乱糟糟的大集市,充满了各种不同的计划和方法(Linux的文件服务器就是个很好的例子,这里可以接受任何人的代码和文档提交),而既稳定又一致的一个操作系统就这么诞生了,这真是奇迹中的奇迹。
而事实上,集市模式真的管用,而且非常管用,这让所有人震惊。我开始以自己的方式去了解这种模式,除了在我的个人项目中努力探索外,我也试着去理解为什么Linux世界没有在混乱中四分五裂,反而以大教堂建筑者们难以想象的速度变得越来越强大。
1996年年中,我慢慢开始理解了,而且有幸拥有了一个可以测试我的理论的机会,这个机会使我可以有意识地在集市模式下尝试一个开源项目,我这么做了,更有意义的是,它成功了。
我要讲述的就是这个项目的故事,通过这个故事,我将引出一些在开源开发中很有用的格言警句。虽然对我来说,这些不都是从Linux中学到的,但我们可以看看Linux是怎样淋漓尽致地运用这些理论。如果我是对的,这些格言警句会帮助你准确地理解到底是什么让Linux社区能够源源不断地产生这么多好软件,而且,也许这些格言还能帮助你成为一个富有成效的人。