阅读作业2刘明篇
CatB – Cathedral and the Bazaar(大教堂和集市)
Eric的这篇论文,初始目的是要根据自己这几年的了解与认识、加上一定的实践活动来分析Linux的成功原因。作者首先说明了什么是大教堂,什么是集市,然后就开始以他开发了一个fetchmail为例子,说明集市是怎么运作的。一般来说,大教堂的特点是成本高,周期长,相对来说是封闭式的;而集市的特点则是开放性的,杂乱的,低成本的。通过这两种不同方式构建起来的项目品质看起来似乎高下立现,但Linux的诞生显然就是用来证实这种看法的主观性。
文中写道,“如果有足够多的眼睛,所有的错误都是浅显的”(群众的眼睛是雪亮的),我把这称为“Linus定律”。
我认为这是构建大教堂模式和集市模式的核心区别——关于开放性的问题。在大教堂模式看来,“小臭虫们”都是狡猾的、阴险的、隐藏极深的,程序员要花费大量的时间捉虫子,经过长时间的Debug,也不能将之完全消灭。而且,随着人们需求的增长与变更,各种各样的问题会“无中生有”般的冒出来。因此大教堂模式在经过很长的开发周期,和在长期的等待之后并没有收到预想的效果,带来的失望是不可避免的。而在集市的开发模式中,面对“小臭虫”,大家一起上,这样的速度显然是孤军奋斗者不可企及的。
作者详细说明了自己用用集市模式开发项目的过程。在开发fetchmail的过程中,作者遵循了集市模式的原则:
1. 我尽早尽量频繁的发布(几乎从未少于每十天发布一次;在密集开发的时候是每天一次)。
2.我把每一个和我讨论fetchmail的人加入一个beta表中。
3. 每当我发布我都向beta表中的人发出通告,鼓励人们参与。
4. 我听取beta测试员的意见,向他们询问设计决策,对他们寄来的补丁和反馈表示感谢。
作者所进行的项目很成功,于是,也有了这样的问题。如何用构建集市的方法,修建出一座大教堂?这样的方法能否推广开来呢?作者就此提出了自己的一些想法与方案,而未来有待我们去创造。