立即捐款

自由軟體的故事:Rebel Code

◎ 書名:Rebel Code
◎ 副題:Inside Linux and the Open Source Revolution
◎ 作者:Moody, Glyn
◎ 出版日期:2001
◎ 出版社:Perseus Publishing, Massachusetts
◎ 售價:$13.65 USD (Amazon)
◎ 中譯:Linux 傳奇:讓比爾蓋茲坐立難安的天才

上期介紹 Hacker 一書涵蓋了 50 年代末至 80 年代初的故事,這次介紹的書是由 1991 年開始-當年 Linus Torvalds 展開了 Linux 企劃。本書的作者 Glyn Moody 先在第一章介紹了 Linus Torvalds,然後在第二章才倒敘介紹 Unix 電腦操作系統的歷史和 Richard Stallman。上期介紹了 Richard Stallman 是最後的一位真黑客(或作駭客),他堅持要分享程序源碼和建立開發社群。他本來是麻省理工人工智能實驗室開發社群中的一員,不過隨著 80 年代初電腦編程成為吃得開的職業,人工智能實驗室開發社群的成員大都出去商業機構打工,令社群瓦解。Richard Stallman 拒絕以編寫封閉源碼的程序為生,自行編寫一套叫 GNU 的電腦操作系統,令用戶在使用電腦時在軟體上有最大的自由,並且重建開發社群。

在 1991 年,GNU 系統差不多完成,只欠核心 (kernel)。Richard Stallman 對核心的架構已有初步的設計,把企劃名為 Hurd,不過後來的開發速度緩慢。另一方面,柏克萊大學也編寫了一套 Unix 系統,而且計劃釋出源碼,不過被持有 Unix 的版權的公司 USL(UNIX Systems Laboratories) 控訴大學釋出源碼會侵犯版權。正當這兩個企劃還在停滯不前,Linux 就在這個時間開發出來,滿足了社群對一個開放的操作系統核心的需要,而 Linus Torvalds 也成為了明星。作者由第三章至第七章、還有第十章都重點介紹 Linux 的核心的發展史,最後以 Linus Torvalds 使用了 Bitkeeper 版本控制系統來成功應付日益繁重的開發工作作小結。因著這個版本控制系統,Linux 企劃避免了被分叉(forking)的危機(forking即有多組人由同一套源碼開發出多套不同的企劃)。

本書的中文譯名實在有點誤導,因為書中除了介紹 Linus Torvalds 和 Linux,還介紹了很多名人和他們的開放源碼企劃,包括 Eric Allman 和 Sendmail、Paul Mockapetris 的 DNS 和 BIND、Donald Kunth 和 Tex、Larry Wall 和 Perl、John Ousterhout 和 Tcl、Guido van Rossum 和 Python、Brian Behlendorf 和 Apache、Marc Andreessen 和 Netscape、Andrew Tridgell 和 Samba、Matthias Ettrich 和 KDE,還有他的「冤家」Miguel de Icaza 和 GNOME。

在開放源碼運動和商業化方面,作者介紹新黑客字典和教堂與市集的作者 Eric Raymond,又描述了「開放源碼」(Open Source) 一詞的由來。跟著又介紹 Netscape 公司內的三位員工 Eric Hahn、Frank Hecker 和Jamie Zawinski 推動將瀏覽器的原始碼開放,變成 Mozilla 企劃。

另一方面,當 Linux 核心的用戶越來越多,有開發者推出 Linux 套件來簡化安裝 Linux 內核和其他 GNU 軟體的程序。作者由最初的Manchester Computing Centre(MCC) releases 談到四大商業 Linux 套件-Red Hat、Caldera、TurboLinux 和 SuSE。書中又描述 Linux 如何進入商業市場,就是連四大電腦公司 Compaq、Dell、HP 和 IBM 紛紛支援 Linux。Oracle 和 SAP 也推出可以在 Linux上執行的版本。一些業務以 Linux 為主的公司也在美國的股票市場上市,Red Hat 上市首日股價由 14 美元升至 52 美元,VA Linux 更由 30 美元大升至 239.25 美元,創出了當時美國股市上市首日最大升幅的紀錄。

書的結尾討論 Linux 和開放源碼運動能否繼續壯大的問題。作者的看法樂觀,指出電腦會更加普及,有更多的編程人員會投身開放源碼的開發。在 Linux 的開發團隊中,就算 Linus Torvalds 要離開,也有不少老資歷的團員如 Alan Cox 和 Dave Miller 等可以擔當重任。而 Miguel de Icaza 也可以承繼 Richard Stallman 領導自由軟體運動。

總括而言,這本書介紹了在開放源碼運動中很多有名的故事,是一本入門的好書。不過作者側重了記事,在人物描寫上稍遜 Hacker 一書,以至故事性較弱。在分析成功背後的原因也不夠深入,想更多了解詳情的讀者可以參考延伸閱讀中 Nikolai Bezroukov 的作品。本書 2001 年出版,出版之後故事如何發展,大家可以參考 LWN 的 Linux and free software timeline(http://lwn.net/Articles/207689/)。那兒有 1999年至 2006 年的大事年表。

另一方面,本書除了 Mozilla 之外,大都選擇記載成功的例子,來推廣 Linux 和開放源碼運動。王慎的臨江仙中有一句:「是非成敗轉頭空」,書中的成功例子,今天的光景又如何?在上市當天大升近八倍的 VA Linux 結果離開了硬體市場,改名為 VA Software 去賣 SourceForge 的服務,跟著又改名為 SourceForge, Inc. 去賣網上廣告,現在的股價還比上市時還低了好幾倍。Linus Torvalds 開發效率的瓶頸,書中的描述是由 BitKeeper 解決了。不過作者沒有解釋 BitKeeper 不是自由軟體,令一些 Linux 開發人員不滿。而且 BitKeeper 的作者 Larry McVoy 在 2005 年取消支援 Linux 開發也引起了風波。Linux 開發社群結果也要自行開發一套開放源碼的版本控制系統 Git。

反過來看,在書中是失敗的 Mozilla 企劃,卻在 Firefox 一役中迫使 Microsoft 要推出新版的 Internet Explorer,而且 Firefox 在市場佔有率上節節上升。沒有 Linux 那麼紅的自由系統 BSD 卻因為 Mac OS X 的採用而在桌上電腦操作系統中市場佔了重要的一席。

當我們深思這些故事-成功,究竟是什麼的一回事?

延伸閱讀:
1.Nikolai Bezroukov, "Portraits of Open Source Pioneers Chapter 4: Grand Replicator aka Benevolent Dictator (A slightly skeptical unauthorized biography of Linus Torvalds and the chronicle of the first ten years of Linux)"
2.[Linux] 推薦電腦好書(一):《Linux傳奇:讓比爾‧蓋茲坐立難安的天才》(Rebel Code :The Inside Story of Linux and the Open Source Revolution

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