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

Tags:Free Software, Open Source Software, Book Review

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

Open Source for the Enterprise -寫給負責任的勇者
蘇孝恆/文 2007/10/14

書名:    Open Source for the Enterprise
副題:    Managing Risks, Reaping Rewards
作者:    Dan Woods, Gautam Guliani
出版日期:2005
出版社:  O'Reilly Media
售價:    $22.95 USD
參考網站:http://www.oreilly.com/catalog/opensourceent/index.html

約十年前,我離開了大學的工作,加入一間小型 IT 系統整合公司(由硬體至軟體都做),老闆常戲言微軟是一條賊船,不過大家都繼續上船,因為這是最多人坐的一條船。讀了 Open Source for the Enterprise,令我對這件往事有更深的思考。微軟品牌到現在仍然是被取笑的對象,蘋果電腦公司甚至有一系列的廣告是以此為主題。不過被取笑其實是微軟賺錢的一個重要原因,因為它要成為責任的垃圾桶。讓我來解釋一下,以前跟國外聯繫,信件郵寄住來可能要花上一個月,今天只需要幾分鐘,甚至幾秒鐘,這個實在是很大的進步。不過就是因為科技一日千里,人對資訊科技的期望因為各種的原因變得很高。期望太高,失望了,就要找人負起責任。微軟就是這責任最好的負責人-因為大家都用,所以決定選用微軟產品的人是不用負責的;因為大家都罵,所以把責任丟給微軟是最「合理」的。以上的情況在一般公司的行政邏輯中好像是理所當然,不過微軟擔當了這個責任垃圾桶,就賺了大家不少錢;而且令軟體市場單一化,不少人不想升級上 Vista 系統,卻沒有選擇。

其實是否真的沒有選擇? Open Source for the Enterprise 就是為考慮選擇在公司內使用開放源碼軟體的 IT 人員而寫的。本書的第一章由零開始介紹開放源碼軟體是什麼。作者認為使用開放源碼軟體的難度在於很多軟體的產品化 (Productization) 不足,令用戶在安裝和使用是要花多些時間去摸索。

作者在第二和第三章建立了幾個分類的系統,讓讀者可以有能力去分析開放源碼軟體。第二章介紹一個開放源碼軟體企劃的分析方法 Open Source Maturity Model。這套方法由產品特性、使用成本和系統整合三個方面去評估開放源碼軟體企劃的成熟程度。第三章就為評估 IT 部門本身的開放源碼軟體技術水平而寫。技術水平被分為初學、中級、高級和專家四級。評估項目包括開發工具、網站伺服器、系統管理和操作、基礎平台性軟體(如 Linux)、程式語言和社群溝通等的技巧。第四章就介紹如何計算使用開放源碼軟體後的投資報酬率 (Return on Investment),作為說服管理階層的數據。本章在成本計算上有很詳細的建議。

在前幾章的基礎上,第五章解釋如何制定採用開放源碼軟體的整體策略。採用開放源碼軟體的先決條件,就是重視公司內的人才培訓和在 IT 方面的自主性。有了這兩個條件,跟著就按著公司現時的技術水平去開始計劃。本章跟著由初學水平開始,描述每一種的水平可以使用的軟體。初學水平可以先由已產品化的應用軟體入手,隨著水平提升慢慢加入基礎平台性軟體。水平越高,可以使用產品化和成熟程度越低的軟體,最後可以自行修改和開發軟體。公司可以由以上的描述,找到合適的目標技術水平,並制定提升水平的策略。

當公司習慣了採用開放源碼軟體,也可能會出現封閉軟體沒有的問題。例如因為在沒有計劃和考慮技術水平的情況下,使用了新的開放源碼軟體,以後引發各種的麻煩。另一個問題是修改軟體後可能因為沒有記錄在文件中,以後不能跟進等。

第六章介紹市場上有哪些種類的商業開放源碼軟體支援服務。第七章反過來呼籲開發者要加強開放源碼軟體的產品化來招攬用戶。第八章介紹各種的授權條款。第九章討論開放源碼軟體法律風險,包括 SCO 訴訟和可能侵犯微軟專利等。第十章就是結論。本書由 147 至 208 頁都是附錄,介紹了六個種類的開放源碼軟體-開碼基礎平台性軟體、桌面應用軟體、電子郵件軟體、協同軟體、網路出版和內容管理系統和跟軟體開發有關的軟體。

介紹了本書,來評論一下。第一章的介紹把開放源碼軟體的要點說出來了,不過有點籠統,以偏蓋全,例如斷言開放源碼軟體企劃絕大部份也是沒有計劃沒有方向。另外就是分類太多,除了上述主要的分類,其他分類描述太少。例如開放源碼軟體可以分為簇新、被接受、成為標準和商品化,越接近商品化的開放源碼軟體就有越多商業支援。這個分類其實可以跟成熟程度分類合併。作者又引入另一個分類-有關 IT 部門的效能可以由實驗性至關鍵性可分四類。不過這個分類只用了一頁來描述它的內容和應用。萁實此分類可跟 IT 要求的穩定性類配合,例如如果 IT 要求要很少更改,又要可以是實驗性的,那麼技術水平可以是初學,因為可以慢慢來學習。反之如果 IT 要求要時常更改,又要穩定性高(即關鍵性),那麼技術水平也必定要高,需要高級或專家的水平。

書中除了成熟程度外也很少用表格來歸納分類,減低了可讀性。現在已是 07 年尾了,讀 05 年出版的書難免會有過時的內容。本書中討論 SCO 訴訟已經完結了,危險不再,而附錄中的軟體介紹也需要更新一下。

本書雖然有以上缺點,不過你只要有基本的 IT 知識,就算對開放源碼軟體毫無認識也可以看得懂。而且內容全面,主要的分類和分析方法也是實際可行,可以成為有心在商業上採用開放源碼軟體的朋友們的好參考。更重要的,是在結論中指出 IT 部門不應得過且過,依賴責任垃圾桶,一再鼓勵部門要認真地處理期望問題。如果有勇氣去負起責任,有計劃地提高技術水平,就可以得到真正的自主自由,能夠享受開放源碼軟體的好處,能更適切地回應公司實際的 IT 要求。當然這個開放源碼軟體的好處更正式來說叫做軟體自由,也是作者在第一章簡介提及 Richard Stallman 所鼓吹的四個軟體自由(註一)的結果。不過之後在書中沒有在有關的地方再重覆強調,在結論也沒來個首尾呼應,未能把書中的論點提高至自由的層次,有點可惜。

(註一)四個軟體自由為:任意使用的自由、研究及修改以符合自己用途的自由、拷貝給親朋好友的自由、散布修改後的軟體的自由。詳見:http://www.fsf.org/licensing/essays/free-sw.html


本文用創用 CC「姓名標示-禁止改作-非商業性」授權條款授權散布。