在 1983 年 9 月 27 日,麻省理工學院人工智慧實驗室(MIT Artificial Intelligence
Lab)的 Richard
M. Stallman (以下簡稱為 RMS),在 net.unix-wizards 以及 net.usoft
的 newsgroups 貼上了一份標題為 "new
UNIX implementation" 的訊息。這就是如今廣為人知的 GNU
計劃的開始。在那則被視為「GNU 宣言」草稿的信息中,RMS 闡述個人的理念與計劃的目的 -- 完成一個命名為 GNU
的 "Free UNIX" 作業系統,希望藉此尋喚理念想同者共襄盛舉。
『如果我喜歡一個程式的話,那我就應該分享給其他喜歡這個程式的人』,這是
RMS 的座右銘。此點也似乎正是促使其決心運作 GNU 計劃的原動力。當時的 RMS
是想寫出一套免費的作業系統。能夠讓每個人如空氣般地自由的取得與使用。選擇“UNIX 相容”的來設計的主要原因是;RMS 表明,UNIX
並非他個人理想中的作業系統;他僅閱讀一些相關資料,但未曾使用過 (MIT 使用作業系統是"ITS--Incompatible
Timesharing System");但他認為 UNIX 作業系統具有優良的本質特性。他相信如果 GUN 與
UNIX 相容將更容易令人接受。所以 RMS 承襲 MIT 用遞迴縮寫字命名的傳統為 GNU 釋譯界定 Gnu
is Not Unix。
1984 年 1 月,RMS 為了展開他的理想而決心離開已經待了十幾年的 MIT AI Lab.。當他向他老闆
Patrick Winston 辭職時,Winston 試圖挽留地說:「你還是要辭職?」。RMS 不為所動的回答:「是」。Winston
顯然得到預料中的答案,於是接著說出了思緒裡關懷:「你想要保留你的鑰匙嗎?」。於是 RMS 就從此開始專心地"失業"在他的老東家。一個人窩在他原來的舊辦公室中,規劃著如何開始他的
GNU 計劃。但想開發一套新的 UNIX 相容的作業系統,即使是財力、人力資源雄厚的頂級電腦公司,也絕對不是一件說想做就能夠做到的事。當擬妥他的「GNU
宣言」之後,他正式向全世界呼喚、表明其將所為。種子落地了。
GNU 計劃的第一隻程式要算是孤軍奮戰的 RMS 在 1984 年 9 月開始撰寫的 Emacs
編輯器。1985 年初,Emacs 已進入可用的階段。於是 RMS 將她放在 pre.ai.mit.edu 這台機器的 FTP
server 上,免費地讓 amonymous 的到訪者自由下載使用。不久後,Emacs 強捍的功能引發了一些玩家們的注意,由於附上了
source code,玩家們能自己動手為它添加新的功能或除錯,很快地,Emacs 獲得了相當熱烈的迴響。隨著名聲漸播,開始有人相繼地加入
GNU 計劃的程式寫作陣營。"此道不孤"讓 RMS 備感振奮與喜悅。
當時的網際網路並未十分普及。所以有不少人雖然對 Emacs 程式有興趣,卻沒辦法經由 FTP 的管道取得,因而有人透過其他管道向
RMS 詢問能如何取得時,這可讓當時處在失業狀態的 RMS 看到能夠支持他繼續奮戰下去的資金來源--販售"自由軟體"。
一個人、一個獨立的個人,要想在現實中實行自己的理念,最先得接受"現實"。唯有接收它是事實,實行理念的道路,才獲得比較穩固的起點與開始。
-- 網路農夫如是說。
想著、寫著,腦中突然掠過一絲感受(所以順便記錄在這個地方)。不管如何,RMS 真的開始以一捲磁帶
150 塊美金的代價,開始服務有需要的人。也因為基於這個開始與基礎,RMS 當年便創立了自由軟體基金會 -- Free
Software Foundation (以後簡稱為FSF)。這對 GNU 計劃而言,意味著它已跨越個人化理念的構思階段,並進入了有群體組織化的運作階段。同時,RMS
也制定出了屬於 GNU 計劃的軟體版權。RMS 使用 "copyleft" 用來形容她,其實就是與著作版權(copyright)
"對立"之意。這也就是 GPL -- General Purpose License (通用公共授權)。GNU
計劃的種子,就這樣生根發芽了。
從販賣 GNU 自由軟體擴展到其他的相關軟體與參考手冊,提供軟體技術支援,並接受電腦器材與資金的捐助(捐助者依法享有一定額度的減稅),為企業代訓軟體人才。FSF
努力地開闢財源卻仍舊是運作資金捉襟見肘。RMS 本人不支薪,FSF 聘請軟體工程師的待遇,也僅是軟體業界薪資水平的一半。但這絕不表示
GNU 計劃的軟體水準是半桶水。GCC 編譯器是 GNU 計劃在 1987 年 3 月開始發表的免費編輯器,當時的版本是 0.9
測試版。如今最新的版本則是 3.0。這個編譯器可以說是今日自由軟體寫作的基石。GCC 所解譯的機器碼,其可靠度絕對不遜於商業化的編譯器產品,甚至可以說是優越過商業編輯器。
90 年代初,GNU 計劃暨已完成了質量與數量均十分可觀的系統工具。這些工具被廣泛的使用在當時各種工作站的
UNIX 系統上。雖然已有如此的成就,但這畢竟還不是 "Free UNIX",他們知道缺少的是什麼--一支"核心程式(kernal)"。
UNIX 在 4.2BSD 之後,越寫越大 kernal 開始帶來一些不便與問題。因而當時便開始有另一個寫作理念逐漸在發展--微核心(microkernal)理念。1985
年,卡內基大學(Carnegie
Mellon University 簡稱 CMU)暨以 4.3BSD 為發展基礎,並將之一拆為二,分成 micro
kernal 與 single server 兩的部分,該計劃也就是"Mach"。該計劃也成了這方面的先河。GNU
原本有打算直接採用"Mach"計劃。但無奈,這一等,從80年代中等到了90年代初,在幾經商量之後,他們打算採用微核心的寫法,成立自己的計劃,名稱叫
"Hurd"。這項計劃,如今仍在奮戰中,雖然
microkernal 的做法讓他們吃了不少苦頭;但可喜的是,0.2, 0.3 測試版本已經發表。
直到 21世紀的今日,RMS 依舊努力不懈地耕耘著他的夢土。儘管他本人認為還未真正地、完全地實現他的「GNU
宣言」;但他的理念與自由軟體寫作族群們的努力下,一條新的大道通往新的世界。大道旁,枝葉已然繁茂的樹蔭下,可口果實一如禮物般地為所有的人成熟。人們稱她--Linux。