Next Previous Contents

1. 教堂與市集 (The Cathedral and the Bazaar)

Linux 打破了許多軟體發展的傳統, 這個世界級的作業系統在五年前僅僅靠著 如絲般的網際網路, 神奇地聯合了散布在全世界數以千計兼職的玩家們來發展 它, 誰曾料到會發生這樣的事情呢?

我當然也沒料到. Linux 出現在我電腦螢幕是在 1993 年年初, 當時我埋首於 UNIX 及開放性原始碼的軟體發展已有十年, 1980 年代中期, 我是 GNU 專案 首批的貢獻者之一, 我寫過許多開放性原始碼的軟體放到網路上供人使用, 也 曾獨立或協同發展好幾個程式 (nethack, Emacs 的 VC 和 GUD 功能, xlife, ... 等等), 這些程式到今天仍廣泛地為人所用, 我想我知道這是怎麼辦到的.

[譯注] GNU 是自由軟體基金會 (Free Software Fundation) 的一個專案, 目標是發展出 UNIX 上所有程式的自由版本. Emacs 是自由軟體基會發展出來的一支程式, 可做文字編輯器, 提 供寫程式的整合發展環境, 用來讀電子郵件, 新聞群組, 甚至瀏覽 網頁. 更詳細的資訊請參考 http://www.gnu.org.

Linux 扭轉了許多我認為我已知道的觀念. 多年來我一直被傳以: 小工具集, 快速原型發展及程式進化的 UNIX 福音. 但我也相信對於有一定複雜度的程式 必需使用集中和有經驗的方法來開發, 我相信最重要的軟體 (作業系統以及龐 大的工具程式如 Emacs) 必須如建造一座教堂般, 由個別的高手或一小群專家 在光輝的孤立中小心翼翼地精雕細琢, 時機未到之前, 不會釋出測試版.

Linus Torvald 的軟體發展風格 (儘早並經常發表新版本, 授權每一件作者可以 委託的事, 不拒絕幾乎到混亂程度的程式) 的出現如同一個驚奇, 沒有令人肅, 然起敬的教堂, 甚至 Linux 的同好們似乎組成了一個有不同流程和不同方式的 大市集 (Linux 的檔案服務站台就是它適切的象徵, 每個人都服從著自由 的規則), 以這個風格發展出來的 Linux 既一致又穩定, 表面上看來 真是一連串的奇蹟.

[譯注] Linus Torvald 是 Linux 核心程式 (kernel) 的原始作者.

市集模式似乎是可行的, 並且運作得很好, 這個事實帶來了相當的震憾. 當以 我的方法去認知時, 我除了努力做好個人的專案, 並也試著去瞭解為什麼在 Linux 的世界, 不但沒有因為渾沌不清而四分五裂, 反而以教堂建造者幾乎想像不到 的速度在茁壯.

直到 1996 年年中, 我想我才開始瞭解這一件事. 我得到了一個絕佳的機會 來試驗我的理論, 這個機會是一個開放性原始碼型式的專案, 正好可以試用 市集模式來發展, 所以我做了這個專案, 而且更有意義的是它成功了.

接下來在這篇文章中我將陳述這個專案的故事, 並且以它為例提出關於有效 地利用開放性原始碼模式來發展軟體的格言, 這些法則並非都是我在 Linux 中第一次學到, 但我們可以看到 Linux 的世界是怎麼賦予它們特別的意義. 如果我是對的, 那麼這些格言將會幫你真確地瞭解是什麼促成 Linux 社群 成為好軟體的原創者, 並且幫助你變得更具生產力.


Next Previous Contents