◎ 作者:Karl Fogel
◎ 出版社與出版日期:O'Reilly Media, October 2005
上一期電子報中介紹了 Goldman 和 Gabriel 寫的 Innovation Happens Elsewhere,這本書由一個商業管理的角度來討論開放公司內部源碼的策略。但是如果大家想在技術層面對開發開源軟體有多點認識,建議可以翻翻這次所 推薦的 Producing Open Source Software。
本書的作者 Karl Fogel 是美國人,本來進大學主修音樂(鋼琴),卻以中文學士的資格畢業,對華夏文化甚有興趣,1996 年曾到大陸教授英文和 Unix/C 語言 。另一方面,讀文科的他卻參與了 CVS 和 Subversion 的開發,現受聘於 Collab.Net。
早在 1999年,Fogel 已在他所寫的 Open Source Development with CVS 一書中第三和第七章描述了開放源碼開發企劃由開始到終結中間的不同階段。這本書啟發了 Debian 發開者 Benjamin "Mako" Hill,其後他寫了 Free Software Project Management HOWTO , 成為想參與自由軟體開發的朋友一個有用的參考。而筆者自己博士論文中的 4C model,也是讀了這兩章之後才發展出來的。Fogel 現在藉著他十年開發自由軟體的經驗,把那兩章的內容加以發揮,寫成了今次推薦的書。這本書共有一百八十頁,當中詳述了在自由軟體開發企劃中會遇見的各種問 題。
在技術層面上,本書包括了如何開始自由軟體開發企劃、包裝和釋出軟體。除了解釋開發內的階段,作者又介紹自由軟體協同開發網站中的各種工具,在附錄中還包括了各種版本控制和待辦事項工具的介紹。另一方面,本書也有討論自由軟體相關的法律知識,如授權條款、版權、專利等。
另 外,作者也花了很多篇幅在溝通和文化的層面。溝通方面,在第八十九頁談到「如何為自己在網路上的儀容化點妝」,在電子郵件中,包括免責和 保密條款如何會令其他自由軟體開發者對你的網路形象減分。作者也分享了自己在開發自由軟體時所犯的錯誤,連一些以他的資歷不太應該做的事情,他也很坦誠地 分析其前因後果。又例如在第三十頁和第七十九頁他提到要不厭其煩地公開資料、鼓勵參與,以提高軟體質素,這都是重要的經驗之談,而且跟 Innovation Happens Elsewhere 中鼓勵溝通來捕捉公司外面創意的看法是一致的。本書在溝通和文化的層面的內容包括自由軟體開發企劃的組織架構、企劃管理的溝通技巧、如何管理志工和商業參 加者等。
本書可以說是市場上最詳細介紹自由軟體的開發企劃的書,而且兼顧了文化和溝通等層面,實在是十分全面。美中不足的是作者沒有把 Open Source Development with CVS 第五章包括在本書內。那章的內容包括如何設計適合分散式開發的程式碼,好讓用戶和開發者有最大的自由,將程式使用在原作者從未想過的範圍。這些內容對自由 軟體開發者也十分有啟發性,可惜未有放進這本書之中。另一方面,作者有十年開發自由軟體的經驗是本書的優點,也是本書的缺點。如果讀者對自由軟體的認識不 多,書中有些內容會因為描寫得太詳細,超越了讀者可以想像的範疇,因而變得難以理解。不過如果讀者邊讀邊實踐,難解的內容就會變得明顯。
(1) 本書有網路公開版和印刷版,本文參考是 2005 年網路公開版。
(2) Fogel, K. 1999 Open Source Development with CVS, Arizona:Coriolis.
(3) Free Software Project Management HOWTO