在本書第一章裡,作者為我們介紹了一些關于開源的曆史和開源的開發方式。同時作者為我們對比了傳統開發模式與開源開發的優劣之處。這兩者的對比能讓我們對于軟體開發模式有一個更深刻的認識。
開源不僅給出了一種生産和分發軟體的替代性經濟基礎方案;它還能徹底改變軟體開發的具體過程——将其從少數隐士手裡拿出來,散播到廣大人群中。程式員瑞蒙 德在論文《大教堂與集市》中将兩種開發方式做了一個有趣的比喻:最重要的軟體應該需要像建教堂一般,由獨立的巫師或一隊互相隔離的魔法師精心打造,在面世 之前絕對不釋出beat版本。而開源開發的風格——早釋出、多釋出、全委托、盡開放——讓我吃驚。這裡不存在靜穆、虔誠的教堂式開發——相反,Linux 社群看似一個亂哄哄的大集市,鋪設了各種日程和手法。要從中得到前後一緻和穩定的系統,簡直隻能指望奇迹再三出現。可事實上這種集市風格看來行之有效,真 令人震驚。
瑞蒙德在這些開源工作中看到了超越布魯克斯法則的力量。這種新的開發模式可集衆程式員之長,且免于讓項目深陷泥潭。瑞蒙德之處其中的兩個要訣:其一,低成 本、廣泛的接入像網際網路那樣的網絡,讓開發者之間建立起迅速、可信的通訊管道,儲存可被開放通路的共享知識和代碼池。其二,圍繞一種上司方式,形成合作團 隊的良好風氣,歡迎新成員的加入,鼓勵成員做出貢獻,同時盡可能增加合格成員。一旦具備這些條件,就能徹底改進在程式中尋找和修正缺陷的過程。與其害怕競 争對手竊取代碼而秘不示人,不如将其展示給全世界,邀請同道加入。而且假使你獨具魅力,懂得如何管理一群開發者,或許還能組織起一個自循環的集智體系。瑞 蒙德還表達了一個李納斯法則:“眼球足夠多,缺陷無處躲”。他由此對布魯克斯法則提出不同意見:“讓懂得懷柔政策的開發協調人員擁有至少像網際網路那樣好的 溝通媒介,多人必好過一人”。