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

Tags:Free Software, Open Source Software, Book Review

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

自由軟體的故事:Richard Stallman - 自由軟體之父
蘇孝恆/文 2007/10/29

書名:    Free as in Freedom
副題:    Richard Stallman's Crusade for Free Software
作者:    Sam Williams
出版日期:2002
出版社:  O'Reilly Media
售價:    $22.95 USD
參考網站:http://www.oreilly.com/openbook/freedom/
                    http://www.faifzilla.org/

之前介紹了社群的領導人物 Linus Torvalds 的自傳,今次要介紹他的前輩 Richard Stallman 的傳記。這本書全文在網上公開,作者更在 http://www.faifzilla.org/ 收集讀者的意見,不斷更新內容。

作者 Sam Williams 以引發 Stallman 開始自由軟體運動的印表機故事開始,又將他跟微軟的高級副主席 Craig Mundie 作比較,來介紹這個傳奇人物。上文提到 Stallman 本來是麻省理工人工智能實驗室開發社群中的一員,而早期的電腦業不會特別在軟體上賺錢,於是也不會封閉源碼,所以在實驗室中控制印表機的源碼也可以被實驗室的開發社群改動,以配合社群的習慣。不過以賣軟體謀利的日子來臨,由 Xerox 公司捐贈給實驗室的新式雷射印表機不付有源碼,令開發社群不能改變印表機的操作流程以配合社群。Stallman 向 Xerox 索取源碼也不得要領,這就是引發他開始自由運動的起點。

Stallman 是個患有自閉症的天才兒童,跟 Linus 一樣父母離異。在中學參加了數學資優班,是班中最優秀的學生。他成功考入了哈佛,攻讀物理學士,卻發現了麻省理工人工智能實驗室。實驗室中黑客式的管理,令碰過哈佛的官僚化電腦系統的 Stallman 眼前一亮,並且成為了該實驗室的編程人員。Stallman 入大學後入住宿舍和參加舞蹈團,但是當他的膝蓋長期受傷而不能跳舞,假期時宿舍又關閉,他的社交活動差不多完全停止。電腦和實驗室的開發社群變成了他的唯一的歸宿。作者跟著又描述 Stallman 如何設計編輯程式 Emacs 來體現黑客文化,增加了開發人員改善 Emacs 的意欲,令程式更加完善,於是 Emacs 就包含了各種多姿多采的功能。

上文提到在八十年代初電腦編程成為吃得開的職業,開發社群的成員大都出去商業機構打工。開發社群瓦解了,Stallman 也痛不欲生。開發社群不少人去了 Symbolics 和 Lisp Machines, Inc.(LMI) 兩間公司,而 Symbolics 決定不再分享源碼,令 Stallman 十分憤怒。他於是幫助 LMI,在源碼中加入 Symbolics 的新功能來打擊她。不過過了不久他就停止了這種報復行動,思考自己要做什麼才能改變這個封閉軟體的趨勢。他想出了要編寫一個完全開放的電腦操作系統,讓所有人都可以享受軟體自由,這就是 GNU 企劃。

Stallman 另一個重要貢獻就是 GPL 授權條款。八十年代初不只 Stallman 在反抗封閉軟體的趨勢,有開發者在公開源碼時會有簡單的說明,以免源碼被封閉。書中舉出了 Larry Wall 在釋出 trn 程式時要求用戶不要拿源碼去賺錢,也不要扮作原作者。不過 Stallman 卻想出了另一個方法- GPL 授權條款的特別之處是不阻止人去賺錢,而是要求源碼繼續公開。這個條款更能反映黑客文化的內涵,又容許商業的活動,於是成為主流。Stallman 領導的 GNU 企劃也用 GPL 釋出,使以 GPL 釋出的程式質素提高,差不多成為一個品牌。

Stallman 在自由軟體上的工作得到肯定,他建立的自由軟體基金會在 1990 得到 MacArthur 基金會 $240,000 美元的資助。有了資助,Stallman 就開始到世界各國宣傳自由軟體,但 GNU 企劃中的操作系統內核 Hurd 卻遲遲未能釋出。在這個時間,Linux 企劃就異軍突起,而 Linus Torvalds 和開放源碼運動也取代了自由軟體運動的地位成為主流。雖然自由軟體運動因為開碼運動而增加了知名度,不過作者借用二次大戰時,英國首相邱吉爾眼白白看著蘇聯軍隊進駐柏林的歷史,來描述 Stallman 不能釋懷的感覺。在書的末後,作者描述 Stallman 會如何繼續推廣自由軟體運動,又推敲歷史會如何評價 Stallman。

本書除了第一和二章是倒敘,基本上是以時序編排。不過如 Just for Fun 一般,作者在幾個地方加插了幾篇自己對 Stallman 的觀察。作者更在後記中,考究 Stallman 推動自由軟體運動的原動力。他發現 Stallman 很珍惜家的感覺,他說哈佛宿舍才能算是他的第一個家,不過它過去了,而麻省理工人工智能實驗室的開發社群也瓦解了。他的原動力,就是要解決孤單,找回家園。

讀完本書,真的覺得 Stallman 是個悲劇人物。天生是個數學天才,又是社會中差不多絕種、有遠見又一生堅守原則的人。Eric Raymond 在 Rebel Code 中指出麻省理工人工智能實驗室的人員其實並不意識到自己在建構一種次文化,直至 Stallman 出來悍衛它,大家才醒悟。不過已經太遲了,大家只有慨嘆它的殞落。不過 Stallman 在這個低潮仍然堅守到底,令黑客文化在九十年代可以在 GNU 企劃和 GPL 的基礎上生出第二春。Debian 的始創人 Ian Murdock,指出就算 Stallman 再沒有以前的地位,他還是運動中可以用來定位的北極星。無論你對 Stallman 有什麼意見,他多年始終如一地堅持自己的看法的精神,著實令人敬佩。

不過 Stallman 的堅持原則的性格同時也是他的頑固、沒有安全感和控制欲強的根源。他的性格令他成功,也令他失敗。他的確不是一個可以領導運動進入新階段的人。GNU 中有不少企劃如 Emacs、GCC 和 glibc 都有分支,而 Stallman 溝通技巧也不夠好。Linus Torvalds 和 Eric Raymond 等「騎劫」運動,在大方向上我並不認為有錯,因為如果只由 Stallman 去推廣,很多人會遲遲也未得到自由軟體的好處。

本系列把 Stallman 傳記放在末後,其實比用 Linus 自傳作結難。拿 Linus 自傳中的 fun 作結,樂觀地說世界要進入娛樂新紀元實在很簡單。不過在說故事時,哪種主角才令人印象深刻?其中一種,就是悲劇英雄。又舉三國的例子,杜甫有詩:「出師未捷身先死,長使英雄淚滿襟」;諸葛亮如此鞠躬盡瘁,結果天下還是落入司馬家的手中,的確令歷世歷代聽到讀到三國的人心酸。近年連好萊塢也抄的香港電影《無間道》,在原本的結尾中,梁朝偉飾演的臥底陳永仁最後被射殺,劉德華飾演的歹角劉建明則逍遙法外,這個結局是最有震撼力的。大陸版劉建明被擒歸案、好萊塢版劉建明被殺等兩個版本要搞個天網恢恢,都不夠高明。悲劇就是突現了堅持和原則,而以 Stallman 作結,希望引起大家更多的思考。我也會在下一篇文章作個總結。

如果大家對我的文章有什麼的意見,都可以到以下網址討論一番:http://littleblackrabit.mysinablog.com/

延伸閱讀
Nikolai Bezroukov, "Portraits of Open Source Pioneers Chapter 3: Prince Kropotkin of Software (Richard Stallman and the War of Software Clones)"