《大教堂和集市》筆記

阮一峰發表於2008-02-05

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的成功之道。為什麼一個本科生的業餘作品,最後竟變成了全世界最流行的作業系統之一?一個簡陋的集市究竟是怎樣變成壯麗的大教堂的?這個過程是否是可複製和推廣的?

他認為,這就是開放的威力。一個開放式的專案,如果加以良好的管理和運作,能取得比同等的封閉式專案大得多的成功。

他這樣看待大教堂和集市之間的競爭:

我認為,未來會更多地屬於那些告別大教堂、擁抱集市的人們。

這不是說個人的遠見和才華不再重要;而是在我看來,未來的成功者只是從自己的遠見和才華開始工作,然後通過有效的社群合作,將其不斷地放大。

開放式的文化會最終勝利,這或許不是因為"開放"在道德上正確,或者"封閉"在道德上錯誤,而只是因為開放式合作可以在一個問題上投入多幾個數量級的技術工時,封閉的世界無法贏得這樣的競爭。

(完)

相關文章