香港新浪網 MySinaBlog
« 上一篇 | 下一篇 »
小兔黑黑 | 9th May 2007 | 自由軟體 | (227 Reads)

Tags:Free Software, Open Source Software, Book Review

大家也來訂閱中研院開放鑄造場電子報

書籍推介:open sources 2.0 (二)
蘇孝恆/文 2007/04/16

◎ 書名:open sources 2.0
◎ 副題:The Continuing Evolution
◎ 編者:Chris DiBona, Danese Cooper & Mark Stone
◎ 出版日期:October 2005
◎ 出版社:O'Reilly Media
◎ 售價:$29.95 USD

上期為這本書作了一個很基本的介紹,內容可以分為四個部分:第一個部分討論跟開放源碼直接有關的課題、第二個部分闡述各種開放源碼的商業營運模式和軟體市場商品化的趨勢、第三個部分介紹各國在開放源碼方面發展的情況、第四個部分談論網路協同作業理論和例子。上期又簡單地介紹了 "Open Source" 一詞的歷史,指出 "Open Source"一詞是為了在商業市場中推銷自由軟體這個概念而創作出來的。因此,我們可以看看 open sources 2.0 一書如何推銷開放源碼。

open source 2.0 這書出版前六年,同一間出版社 O'Reilly 先出版了 open source 1.0,並且在網上公開全文 (1) 。今次出版 open source 2.0,在出版社的網站只公開了簡介那一章 (2)。O'Reilly 出版社似乎認為開放源碼這個概念已經為市場所認識,有足夠的吸引力,令出版 open source 2.0 一書是一個有潛力的投資。我們又可以看看一下 open source 1.0 的作者,其中的包括 Apache 的 Brian Behlendorf、BSD 的 Marshall Kirk McKusick、Free Software Foundation 的 Richard Stallman、Linux 的 Linus Torvalds、Open Source Initiative 的 Eric Raymond 和 Perl 的 Larry Wall 等。他們都是有名自由軟體企劃中的領袖,而 open source 1.0 一書亦用了很大的篇幅來介紹這些企劃。從 open source 2.0 的內容分類來看,open source 2.0 組織跟 1.0 十分不同,而且作者的背景也變得多元化。除了繼續由不同企劃的領袖執筆、也有來自商業、法律和學術等界別的作者。

書中最頭的簡介用了美國內華達州黑石城一年一度的火人節作引子來解釋開放源碼現象。作者又引用歐洲中古時代的騎士制度和精神,來解釋騎士無償的服務,如何能帶來實質的收入。簡介中不斷地把各種已有的協同作業模式和開放源碼比較。作者從不同的角度向讀者發問-其實開放源碼跟這些協同作業模式有沒有什麼分別?

書中正文的第一章是以 Mozilla 企劃作先鋒。Mozilla 企劃是一個商業軟體由封閉源碼轉變為開放源碼一個最名的例子。上期提到 Netscape 公司把主要的產品 Navigator 瀏灠器開放源碼。Netscape公司也催生了一個獨立的機構- Mozilla -來負責開發瀏灠器。文中花了不少的篇幅來討論 Netscape 公司和 Mozilla 機構之間的張力。在一間普通的軟體公司,公司內的程式設計師寫出的源碼就是產品的源碼。不過 Netscape 公司的程式設計師寫出的,要經過Mozilla 機構的批准,才能加入 Mozilla 的源碼。特別在 Mozilla企劃的初期,絕大部分的源碼也是來自 Netscape,不過 Netscape 公司卻不能完全的控制軟體的開發過程,令管理層十分不習慣。除了管理上的改變,Mozilla 企劃開始時也要面對大規模的網路協同作業、源碼老化和制定開發方向等問題。文章繼續描述 Mozilla 企劃如何經過好幾年的奮鬥,結果在 2003 年推出了 Mozilla 1.0。跟著又在 2004 年推出 Firefox 和 Thunderbird。Firefox 在瀏灠器的市場佔有率更節節上升。

第一章的作者 Mitchell Baker 是 Mozilla 機構的主管,他很坦白地寫出了在 Mozilla 企劃中遇見的困難和曾經犯過的失誤。不過作者可以將 Mozilla 機構後來能把凝聚社群力量,令 Mozilla 企劃得益,跟草創時 Netscape 公司和 Mozilla 機構之間管理上的麻煩加以討論,看看開放源碼是否真的為 Netscape 帶來好處。另一方面,因為篇幅所限,作者不能更深入討論一些技術性的題目如 Gecko、XPCOM 和 XUL 等,大家可以參考 "Ars Technica sits down with Scott Collins from Mozilla.org" 一文 (3)。

第二章的作者 Chris DiBona 把開放源碼的開發過程跟一般商業機構的軟體開發作比較,發現原來很多相同之處。作者也簡單介紹在開放源碼開發中常用的版本控制和待辦事項等的工具。文章又有提及軟體市場商品化和自由軟體讓用戶有更多選擇等的概念。

第三章的作者是 Samba 系統其一個主要開發者 Jeremy Allison(4)。Samba 是一個能讓 Linux 在網路中跟 Windows 系統互相分享資源的系統。在技術層面來看,Samba 就是當了 POSIX 和 Win32 兩種不同標準的橋樑,於是 Jeremy Allison 在文中就把這兩個標準作比較。這章最難得的是作者能把本來是十分沉悶的標準深入淺出地寫得生動有趣。不過這一篇不是 Samba 的介紹文章,不懂 Samba 是什麼的朋友,請先學點 Samba 才會讀得懂。值得一提的是 Jeremy Allison也是一個有原則的人。他本來在 Novell-SUSE 工作,不過因為 Microsoft-Novell 合作中的專利協議違反了 GPLv2 請辭了 (5)。

第四章討論開放源碼和安全性。作者 Ben Laurie 是 Apache 企劃的草創理事,對 Apache 的安全系統如 Apache-SSL 甚有貢獻。這一章寫得頗為淺白,不用太多技術知識,也涵蓋大部分開放源碼的安全性的題目,如開放源碼和封閉源碼的軟體哪種較安全、開放源碼開發者跟 Linux 套件發行商的互動,如何影響推出安全更新的速度、開發透明度和安全性的關係。在文章的結尾也列出跟安全性有關的開放源碼軟體。總括來說,這個部分的文章質素很好,不過對讀者的技術知識要求比較高,不懂寫程式的朋友可能會看不懂。

(1) http://www.oreilly.com/catalog/opensources/book/toc.html
(2) http://www.oreilly.com/catalog/opensources2/chapter/index.html
(3) http://arstechnica.com/articles/columns/linux/collins-interview.ars
(4) http://samba.org/samba/news/articles/low_point/tale_two_stds_os2.html
(5) http://www.groklaw.net/article.php?story=20061221081000710