立即捐款

自由軟體的故事:Linus Torvalds-Just for Fun

書名: Just for Fun
副題: The Story of an Accidental Revolutionary
作者: Linus Torvalds with David Diamond
出版日期:2001
出版社: TEXERE Publishing, London
售價: 9.99 Pounds ($11.21 USD on Amazon published by Collins)
中譯: JUST FOR FUN -LINUX創始人托瓦茲自傳

之前介紹了 Hackers 和 Rebel Code 兩本書,簡單勾畫了自由軟體的歷史,跟著我會專注在社群的領導人。今期我會先介紹 Linus Torvalds的自傳,下次會介紹 Richard Stallman。

今次介紹的書,大部分的內容是 Linus Torvalds 的自傳,在末後也有幾篇散文,是 Linus 對某幾個富爭議性的議題如版權的看法。David Diamond除了幫助 Linus 這個寫作門外漢寫自傳外,也在書中加插了幾篇對 Linus 和他的原生家庭的觀察。

序言時 Linus 丟出了一個哲學性的問題,就是人類文化是如何發展的?他提出三個階段-求生、建立社會秩序和娛樂。他以科技為例,工業革命為是了解決溫飽等的生存問題,而媒體和電話一開始是用來控制社會秩序,不過現在已娛樂化了。電腦的發展也是一樣,而他編寫出 Linux 系統,也是第三層-為了好玩。在序言之前,編者特別加插了 Linus 對 David 邀請的回覆,大意謂如果能創作出一本有趣的書,而且寫作過程又好玩,那就去做吧。這樣的鋪排,就為 Just for Fun 點了題。

Linus 在第一章就以「我是個生得醜的小孩」一句自嘲的話打開話匣子,描述他生來就是個書呆子。跟著他就描述自己出生於一個清貧的家庭,父母年輕時都是左傾的熱血學生,他和妹妹出生後父媽異離。至於電腦,在大學任教的公公是他的啟蒙。公公過世後,Linus 就承繼了他的電腦 VIC-20。Linus 在中學時代已經沉迷於電腦編程。

轉眼間 Linus 已經進入 Helsinki 大學攻讀電腦課程。他讀完了一年後要當兵,然後升上大二。大二之前的暑假他讀了 Andrew Tanenbaum 的書 Operating Systems: Design and Implementation,改變了他的一生,令他對 C 語言和 Unix 系統產生了很大的興趣。他用盡了積蓄並借錢來買下一部 386 PC,跟著又買了 Tanenbaum 為教學而編寫的小型 Unix 系統 Minix。Minix 是少數當年可以在 PC 上運作的 Unix 系統,不少人也希望 Tanenbaum 可以增強 Minix 的功能,並且應用在教學以外,不過被拒絕了。

Linus 也發現 Minix 系統中有些不太順手的功能。其中最麻煩的,是用來接駁大學電腦的工具-終端機模仿 (Terminal Emulation),於是 Linus 就開始開始寫一個新的終端機。另一方面,Linus 希望多點認識新電腦的結構,所以他寫的程式就直接跟電腦的硬體和 BIOS 溝通,沒有使用 Minix 的程式庫。這個終端機需要同時處理兩組事情,於是 Linus 就寫了一個多工系統,而它就是 Linux 系統的開始。

Linus 完成了終端機的基本功能其實已經可以停下來,而且下一個他想要的功能需要把資料儲存到硬盤中,也要就說要寫一個新的檔案系統,要投入不少時間。不過 Linus 除了星期三會去大學 Spektrum 學會外並沒有什麼事做,所以就挑戰一下自己,躲在家裡寫成它。他跟著又將一些基本的軟體如 bash 和 gcc 搬到這系統上,這就是 Linux v0.01。Linus 的母親對 Linus 的行徑沒有太大的意見,因為她要獨個挑起他家庭的經濟大樑,Linus 除了要吃飯外就別無所求,令她減少不少麻煩。Linus 跟著把功能一個一個的加上去,用戶也越來越多,Linus 也越來越得到鼓勵,而 Linux 也在 Minix 的用戶中搶走不少人。Linus 有一次提議在世界不同角落用戶寄明信片給他,真的有不少人回應,他的家人然後才明白 Linus 躲在家中,原來做了這麼厲害的事。

Linus 也有簡單解釋為何會決定釋出程序源碼而不拿去賣。一方面芬蘭的社會風氣和他的家庭背景並不鼓勵他要向錢看,而且他用來編程的工具的作者 Richard Stallman 也以 GPL 釋出源碼,所以 Linux 結果也使用了 GPL。

Linux 企劃跟著不斷發展,而 Linus 也經歷很多的第一次。例如第一次演講如何怯場、1.0 版本在大學禮堂發報、第一次去美國、第一次面試和打工、第一次收到股份和在股票市場中發達等。Linux 的壯大也引申出不少問題,如 Linux 要注冊成為商標等問題。

Linus 被稱為新一代的務實開碼領袖 (註 1),他不相信一切源碼都要開放,認為源碼的作者可以自己決定開碼與否,就算封閉源碼拿去賣錢也是十萬分的合理。那麼 Linus 有沒有底線?他的底線又在哪兒?他去到美國時有機會遇見不少科技界的大人物,包括蘋果的 Steve Jobs 和昇陽的 Bill Joy。有一次昇陽將要推出一個「開碼」產品 Jini,先邀請了 Linus 去參加一個預先舉辦的小型發報會。Linus 發現那個產品如果不是非商業用途,就不會公開源碼。這種做法不合乎開放源碼的定義,而且昇陽好像只想「借用」開碼來搞宣傳,並沒有實行之心,於是 Linus 就氣憤離場。這個可能就是他的底線了。

Linus 以回顧十年 Linux 的發展作小結。如果他知道開發需要這麼多的功夫、要面對這麼多的困難、會受到各方的奚落,當初一直不會開始這個企劃。不過他也沒有想過會得到這麼多的支持和鼓勵,如果他一早知道,他仍然會選擇走上這條路。

書中跟著包括了 Linus 對幾個議題如版權等的文章,然後又以 fun 作結。如果有天外星人來到地球,他不會要求去見地球人的首領,而是說:「你們繼續趴踢吧。」

在 Softpanorama 站上收集了不少對這書的批評 (註 2),其中包括 Linus 全為了賺錢而寫書、書中只是吹噓自己如何的厲害、完全自我中心、這麼年輕不應寫自傳、沒有提及 Dave Miller and Alan Cox 等對 Linux 也大有貢獻的人、那個三階段典範太簡單,而且他只不過重寫了一個有二十多年歷史的系統,怎可以說是革命性 (revolutionary)。

究竟 Linus 是否為了賺更多的錢來寫這本書?猜度人家動機這類主觀的批評我不會做,不過有關本書的推銷文案大都沒有說這本是 Linus 的自傳,有些人會因為想了解開放源碼去讀這本書,那就只會得到 Linus 的主觀描述。他們應該去讀 Rebel Code。不過如果以傳記來說,由 David 執筆當然會比 Linus 客觀和專業,而且也會包括更多 Linux 跟企劃和開放源碼有關的人物,不過由 Linus 親自執筆,就可以透過文字直接接觸他。另一方面,少年得志的確會助長傲氣。例如 Linus 在書中描寫自己有一次演講時對支持者開了個玩笑,說了一句「I am your God」(我是你的神明),這樣真的是過份了。不過 Linus 在書中記載了不少自嘲的小故事,令讀者感覺到他的真誠。如果想深入地了解 Linus Torvalds,這是一本不錯的書。

下一次會介紹 Richard Stallman 的傳記 Free as in Freedom。

(註 1)Williams, Sam 2002, Free as in Freedom:Richard Stallman's Crusade for Free Software, O'Reilly. (http://www.oreilly.com/openbook/freedom/)
(註 2)http://www.softpanorama.org/People/Torvalds/summing_up.shtml#Vanity%20Fair%20Autobiography

延伸閱讀
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)"
http://www.softpanorama.org/People/Torvalds/index.shtml

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