《大教堂和集市》笔记

作者: 阮一峰

日期: 2008年2月 5日

珠峰培训

bg2008020401.jpg

1.

Eric Raymond有一篇著名文章《大教堂和集市》(The Cathedral and the Bazaar)。

他说,世界上的建筑可以分两种:一种是集市,天天开放在那里,从无到有,从小到大;还有一种是大教堂,几代人呕心沥血,几十年才能建成,投入使用。

当你新建一座建筑时,你可以采用集市的模式,也可以采用大教堂的模式。一般来说,集市的特点是开放式建设、成本低、周期短、品质平庸;大教堂的特点是封闭式建设、成本高、周期长、品质优异。

Eric Raymond就问了一个问题,有没有可能用修建集市的方式,造出一所大教堂?

2.

我多年前读过这篇文章,上个星期与朋友在Email里讨论问题时,突然想到了它。

我们的问题是,有一个项目,方案A是精心准备后再投入使用,方案B是将半成品先公开,然后再逐步完善。这让我情不自禁地就想到了"大教堂和集市"这个比喻。

我们想造出一个大教堂,可是眼下只有一个集市,怎么办?

3.

我找出Eric Raymond的这篇文章,重读了一遍,很多模糊的印象一下子清晰起来。到底是经典文章啊,虽然写在10年前,但是很多问题他都考虑到了。

他说,集市要变成大教堂,有几个前提条件:

1)你不能从零开始建设集市,你必须先有一个原始项目。(It's fairly clear that one cannot code from the ground up in bazaar style.)

2)你的原始项目可以有缺陷,但是它必须能运行。(It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is run.)

3)你必须向用户展示一个可行的前景,且让潜在的合作者相信在可预见的将来它会变成一个真正漂亮的东西。(When you start community-building, what you need to be able to present is a plausible promise, and convince potential co-developers that it can be evolved into something really neat in the foreseeable future.)

4)项目的主持者本身不一定是天才,但他一定要能够慧眼识别出他人的优秀想法。(it is not critical that the coordinator be able to originate designs of exceptional brilliance, but it is absolutely critical that the coordinator be able to recognize good design ideas from others.)

5)项目的主持者必须要有良好的人际关系、交流技能和人格魅力。这样才能吸引他人,使别人对你所做的事感兴趣,愿意帮助你。(A bazaar project coordinator or leader must have good people and communications skills.)

4.

以上是一些必要条件,Eric Raymond也总结了一些成功的充分条件。

1)项目首先必须是你自己感兴趣的,但是最终能对其他人有用。

2)将用户当作合作者。

3)尽快地和经常地做出改进,多听取用户的意见。

4)健壮的结构远比精巧的设计来得重要。换句话说,结构是第一位的,功能是第二位的。

5)保持项目的简单性。设计达到完美的时候,不是无法再增加东西了,而是无法再减少东西了。

5.

Eric Raymond这篇文章,原始目的是要分析Linux的成功之道。为什么一个本科生的业余作品,最后竟变成了全世界最流行的操作系统之一?一个简陋的集市究竟是怎样变成壮丽的大教堂的?这个过程是否是可复制和推广的?

他认为,这就是开放的威力。一个开放式的项目,如果加以良好的管理和运作,能取得比同等的封闭式项目大得多的成功。

他这样看待大教堂和集市之间的竞争:

我认为,未来会更多地属于那些告别大教堂、拥抱集市的人们。

这不是说个人的远见和才华不再重要;而是在我看来,未来的成功者只是从自己的远见和才华开始工作,然后通过有效的社区合作,将其不断地放大。

开放式的文化会最终胜利,这或许不是因为"开放"在道德上正确,或者"封闭"在道德上错误,而只是因为开放式合作可以在一个问题上投入多几个数量级的技术工时,封闭的世界无法赢得这样的竞争。

(完)

一灯学堂

留言(11条)

健壮的结构远比精巧的设计来得重要
精巧的设计往往意味着脆弱,一旦有改变,即便是很小的改变也会牵一发而动全身

我在想,学校的社团是不是也可以这样发展。

其实是国富论的翻版

翻到以前的这篇文章,不禁想到你提到到的那个大项目,是不是也是集市型的?

这篇文章很漂亮^_^
很喜欢

它们的区别不是什么封闭与开放,什么周期和品质,而是最终形态是否已知,大教堂是已知的,设计形态就是最终形态,一但有修改,就是推翻了设计,而集市根本就没设计形态,也就是说最终形态是未知的,谁都不知道集市最后会变成怎样。

大教堂是比集市更好的方法,成本比集市低,好控制,就象你搞航天飞机又或是手机,不可能一个版本就飞一次,在没有互联网前就算软件也不能这样。

但大教堂最大的问题是人们往往会设计一个空中花园出来,在投入建设一段时间后却发现这个东西连古巴比伦都搞不出来,自己还是别想了。然而集市却没有这个问题。

(巴比伦好象把空中花园建出来了的哦。。。上面那句要改为“这个东西只有古巴比伦搞过出来”)

《设计指导方向 还是 实例引导方向》
http://hi.baidu.com/gevolution90/blog/item/6e48ca4ed871c41bb3de053c.html
这是对前两条留言内容的归纳。

好文章,正好正在读Eric的《UNIX编程艺术》,很喜欢他所提到的开放的思想,我也有一些想法想去实现,打算去github上用开源的方式开发,只是不知道会不会吸引来同道者,写汉语的话,语言是个问题

引用张啸的发言:

好文章,正好正在读Eric的《UNIX编程艺术》,很喜欢他所提到的开放的思想,我也有一些想法想去实现,打算去github上用开源的方式开发,只是不知道会不会吸引来同道者,写汉语的话,语言是个问题

可以联系我li_303416@163.com

好文章,但是开源软件的关键问题不在于他的建立,而在于他的商业运作模式,在于知识产权保护与激励创新这些问题。

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接