3.1 1991 年赫爾辛基大學生的 BBS 帖子:「這只是一個興趣,不會像 GNU 那樣龐大」#
背景:一個學生的作業系統課#
1990–91 年,赫爾辛基大學 21 歲的學生林納斯·托瓦茲(Linus Torvalds)在作業系統課程上接觸到 MINIX——荷蘭教授 Andrew Tanenbaum 為教學開發的 UNIX 相容迷你系統(以受限授權發布,作為教材)。Tanenbaum 的教科書《Operating Systems: Design and Implementation》是林納斯的啟蒙讀物。
林納斯用一台386 PC(用分期付款買的)開始寫一個比 MINIX 更能發揮 386 保護模式與多工的系統。他一開始的目標很樸素:學習 386 的硬體特性,做一個終端模擬程式(因為學校的 UNIX 機器要排隊使用)。
1991 年 8 月 25 日:歷史性的帖子#
1991 年 8 月 25 日,林納斯在 Usenet 的 comp.os.minix 發出了這篇流傳千古的帖子:
「你好,所有使用 minix 的朋友——我正在做一個(自由的)作業系統(只是一個興趣,不會像 GNU 那樣龐大、專業)……這個東西從四月就開始構思,目前快要能用……我想徵求大家對我喜歡/討厭 minix 的地方的反饋,讓我的版本盡可能相近。」
這篇帖子最著名的是那句自嘲:
「Just a hobby, won't be big and professional like gnu」
——人類技術史上最著名的「預測失誤」。林納斯自己多年後笑稱:「我唯一沒搞錯的是它是 free 的。」
1991 年 9 月 17 日:Linux 0.01#
1991 年 9 月,第一版原始碼 Linux 0.01(約 1 萬行 C 與組語)放上 FTP 伺服器。 naming 細節:林納斯原本想叫它 Freax(free + freak + x),FTP 管理者 Ari Lemmke 覺得不好聽,逕自改目錄名為 linux(Linus's UNIX)——命名的偶然性,成為品牌史的一部分。
三個決定性設計#
- 從一開始就基於網路協作:0.01 版發布後數天內就有陌生人寄來 patch。林納斯展現了關鍵的領導風格:樂於接受別人的補丁、不固守自己的程式碼尊嚴——這與許多天才開發者的自負形成對比。
- 以 POSIX 為目標:1991 年底,林納斯決定讓 Linux 符合 POSIX 標準(UNIX 的國際標準介面),這使 GNU 工具能無痛接上 Linux——對接 GNU 是有意識的戰略選擇。
- 1992 年 2 月切換到 GPL v2:這是 Linux 命運的分水嶺。GPL 的「傳染性」確保了 Linux 永遠開源,也讓數百家公司敢於投入(法律明確),同時防止任何人把它閉源。林納斯自述:「GPL 是把我的作品最大化的方式。」
「Tanenbaum–Torvalds 辯論」:技術政治學的經典#
1992 年 1 月,Tanenbaum 在 comp.os.minix 發帖批評 Linux:「如果 Linus 是我的學生,這門課他會不及格。理由:過時(單體核心)、不可移植。」主張微核心(Mach-based)才是未來。
這場著名的 Tanenbaum–Torvalds 辯論(LWN 與眾多文獻均有存檔)本質上是一場關於工程美學的爭論:
- 微核心派:理論優雅、模組化、更安全(Tanenbaum、GNU Hurd、Mach、Minix-3 的路線);
- 單體派:效能高、簡單直接、易於協作(Linus 的路線)。
歷史的裁決 pragmatic 得殘酷:Hurd 因微核心的複雜性遲遲未成熟,而 Linux 的「笨拙但可用」在 1991–92 年搶占了所有空位。林納斯的名言回應成為工程文化經典:「可用的粗糙勝過完美的空想(empty set / working is better)。」
小結#
Linux 的誕生是偶然中的必然:386 PC 的普及、MINIX 的教學、Usenet 的連通、GNU 工具鏈的成熟、GPL 的法律護盾——五個條件在 1991 年齊備,只等一個願意把 patch 收下的年輕人。下一節,我們看 GNU 與 Linux 的結合如何造就整個自由軟體生態。