自由軟件簡史
OSWikiHK,自由中文開源知識庫
自由軟件及開放原始碼的慨念在年突然跑出來,看似很太理想主義 ,但這種慨念很早已存在並是整個 Internet 架構的根本。
七十年代 Unix 開發初期,AT&T 如現在微軟般受反壟斷法困擾, 不能進入電腦市場。Unix 的發源地貝爾實驗室當時仍為 AT&T 旗 下的機構,銷售 Unix 將為 AT&T 帶來麻煩。所以當時 Ken Thompson 等只以收取磁帶成本的價錢把 Unix 連原始碼賣給各大 學作教學給研究之用,而有些學府亦有修改 Unix 而符合自己需要 。其中美國加洲柏克萊大學 (University of Califonia at Berkeley) 更為將 Unix 發揚光大,加入不少新技術及功能發展出 Unix 兩大流派之一的 BSD (Berkeley Software Distribution) ,在八十年代領導了 Unix 界的大部份發展 (包括加入 TCP/IP)。
原為 BSD Unix 一部份的 Sendmail 及 BIND 一直分別為佔據了 Internet 的電郵伺服器 (Mail Transfer Agent) 及網域名稱伺服 器 (Domain Name Server) 大部份市場,幾乎所有你從 Internet 收到的電郵都經 Sendmail 處理過,幾乎瀏覽每一個網頁都曾向 BIND 查詢過。 兩套軟件一直都是開放原始碼,容許人自由修改 抄錄的自由軟件。可以說,自由軟件並不是一件新鮮的事。不過 第一提出 Free Software 這名字及真正將自由軟件這慨念整理 ,到處宣揚,並於之實行則是由 Richard M. Stallman (RMS) 的 GNU 計劃開始。
現代愚公 Richard M. Stallman (RMS)
1971 年,當 RMS 還是哈佛的學生時就開始在美國麻省理工學院 (MIT) 的人工智能實驗室 (AI Lab) 工作,做了十多年。在這十 多年間, AI Lab 一手開發的 Lisp Machines 令不少技術人員 為之瘋狂,長留 AI Lab 。到 80 年,不少 RMS 的不少同事相 繼離開 AI Labs ,分別組成 Lisp Machines Inc. (LMI) 及 Symbolics 兩間公司。這兩間公司都向 AI Lab 取得 Lisp Machine 的作業系統作商業用途,而合約上有訂明任何在 Lisp Machine 上的改進必須都歸 AI Lab 所有。那時候雖然 LMI 及 Symbolics 在商場上鬥得很劇烈,但技術上都可以透過 AI Lab 互相交流。
不過後來 Symbolics 的律師發覺雖其合約並沒有訂名 AI Lab 有權將 Symbolics 在 Lisp Machine 上開發的技術和其他公司 分享,於是禁止了 AI Lab 過往這個很『理想』主義的行為。 當時 RMS 及一眾 AI Lab 的成員都對 Symbolics 這種背信的行 為很失望,曾多番徹夜為 AI 實 驗 室 及 LMI 改良 Lisp Machines 的軟件,令她比 Symbolics 的更優秀以懲罰 Symbolics 。
然而隨著 AI Lab 的成員相繼給 LMI 及 Symbolics 刮走, AI Lab 開始支持不住了。這對 RMS 的打擊很大,RMS 體會到真正 的問題不是出在 Symbolics 身上,而是整個不願開放原始碼將 知識私有化的軟件業。這個現代美國愚公竟想要把這座大山移平。
RMS 看準了當時正在興起的 Unix 作業系統,決心要開發一個名 為 GNU 兼容 Unix 但完全開放原始碼的作業系統。 (GNU 的全 寫為 GNU's Not Unix ,很怪嗎? 但這類循環縮寫在當年 hacker 界很流行) 為了防止不道德的商人把其辛辛苦苦寫出來 的程式私有化, RMS 創立了一種稱為 "Copyleft" 的授權方式 ,並定下了 GNU General Public License (GPL) ,所有 GNU 計劃的程式都以 GNU GPL 分發。
1985 年,RMS 憑著其親自編寫的第一個 GNU 程式 - 文字編輯 器 GNU Emacs 而成名大噪,並吸引了很多其他 Hacker 加入 GNU 計劃替他找蟲加添新功能。同年, RMS 成立了 自由軟件基金會 (FreeSoftwareFoundation , FSF) 為 GNU 計劃籌 募經費。收到各大廠商的捐助及售賣 GNU 程式的手冊及磁帶, FSF 得到一大筆經費供養及支助一班軟件開發者開發 GNU 系 統。除了 GNU Emacs 外,其他 GNU 軟件亦想繼出現。其質量 甚至比其他商業程式更好,加上基本是免費或很便宜,GNU 工具 幾乎遍佈每一台 Unix 系統,亦吸引更多人參於 GNU 計劃。
到了八十年代末, GNU 已完成了大部份一套 Unix 系統基本應 有的東西,包括 C 編譯器 GCC 、Bourne-again Shell (bash) 、 GNU Zip 、除蟲程式 gdb 及 gawk 等工具。剩下來只欠 一套電腦系統最重要的部份 - 作業系統的核心 (Kernel) 。 RMS 原意要以 Mach 的微核心 (Micro-kernel) 為基礎開發的 HURD 來作為 GNU 系統的核心。不過在 1991 年 Linux 的出現 將 RMS 的計劃完全改變。
由 Free Software 到 OpenSource
大慨 Free Software 這名字實在容易今人誤解,仲使 Linux 及 Apache 等漸漸得到很多技術人員的信任,被應用在各類重要的工作。 但外間人始終對免費的軟件抱有偏見。 1998 年 1 月, Netscape 宣佈會開放 Netscape Communicator 的原始碼為自由軟件界打了一針 強心針。Eric S. Raymond (ESR) 看出這是自由軟件發圍的最好時 機,於是倡議將 Free Software 改名為 Open Source Software (OSS,開放原始碼軟件) 。 ESR 解釋很多公司一聽到 Free 就聽不 入耳,但如果你改過另一個名字,很神奇地這些公司會變得很有興趣。 這個提議一經提出,即為很多人仕取納,而 OSS 亦成為自由軟 件在市場推廣的代名。
