Login  |  繁體中文
自由軟體重大演進史

自由軟體重大演進史

2008年是自由軟體風起雲湧的一年,各項自由軟體計畫都得到不錯的成果,如 MySQL 和 VirtualBox 所展現的活力被 Sun 看上並進而高額收購;Firefox 3.0 的推出也成功達成單日最多人下載的金氏世界紀錄等。

自由軟體靠著許多人無私的奉獻並經歷了許多事件,才獲得今日的成功,不過一切的起源都要從 Unix 的出現開始說起:雖然 Unix 所使用的授權方式並不完全符合現在開放源碼軟體的定義,但是仍然有許多人認為開放源碼最早的起源是 AT&T 貝爾實驗室所開發的 Unix 作業系統,在1973年 Unix 首次釋出時,即附帶程式碼,讓被授權者得以修改,雖然程式的著作權依然嚴密掌控在 AT&T 手中。

由於 Unix 中包含原始碼,使得研究機構可以修改並擴充 Unix,加州大學柏克萊分校的研究生 Bill Joy 就以此方式於 1977 年延伸出 BSD(Berkeley Software Distribution),BSD 一開始僅是 Unix 的外掛,並非完整的作業系統,一直要到了1983 年的 2.9 BSD 才首次作為一個完整的作業系統釋出。1991 年,BSD Networking Release 2 釋出,除去多數 AT&T Unix 的原始碼,成為 386BSD 和 BSD/386 的前身,此一主張同時主張其使用者不需再取得 AT&T 授權。這使得 AT&T 所屬的 Unix System Laboratories 向 Berkeley Software Design, Inc. 提起訴訟,造成 Networking Release 2 直到爭議釐清前都無法散布。USL v. BSDi 一案於 1992 年提出,1994 年達成和解,這期間導致 BSD 開發趨緩,使得另一個開放源碼作業系統 Linux 後來居上。

從80年代到90年代初期,開放源碼作業系統的發展主要都圍繞在改進 Unix 系統上,此時最重要的程式是由 MIT X Consortium 推出的 X Window,奠定了目前開放源碼作業系統視窗環境的基礎。到了1991年,一位來自芬蘭的 Linus Torvalds 無法滿足於現有的 Unix-like 作業系統,著手開發自己的作業系統核心,也就是後來 的 Linux kernel。 Torvalds 的 Linux kernel 一開始是基於 Minix 發展,因此十分仰賴 Minix 的 user space,但靠著 GNU Project 以 GPL 授權方式釋出的程式碼,Linux 和 GNU 程式開發者得以使用 GNU 的程式碼建立自己的 user space,而由於 GPL 的特性,Torvalds 必須將 Linux 改以 GPL 釋出,這個以 GPL 釋出的 Linux 就稱為 GNU/Linux — 成為現今所有 Linux 散布版本的前身,也是第一個能夠單獨完整運作的開放源碼作業系統。之後,Linux 趁著 BSD 團隊官司纏身的時期蓬勃發展,到了一九九四年,Red Hat 和 Caldera 透過商標權及服務收費的方式拓展開Linux應用的消費市場,同時展現了自由軟體的獲利能力;而 Debian Project 則提供純粹自由開發且免費的 Linux 版本,現階段的Linux散布版本呈現百家爭鳴的局勢,提供了使用者豐富多元的選擇。而 Linux 也是從1994到2000年間,唯一非微軟系統卻能提高市場佔有率的作業系統。

在 BSD 開始發展的同時,理查‧史托曼 (Richard Stallman) 在 MIT 成立了 GNU(GNU's Not Unix)計畫和自由軟體基金會(Free Software Foundation, FSF)。而  Richard Stallman的創見之一 GNU General Public License 也於此時進行公開發表,進而引領新一波的自由軟體授權風潮。GPL的授權方式與BSD類授權方式對「自由」兩字的解讀迥然不同,GPL授權方式強調的「自由」是將使用、研究、修改、散布軟體的自由轉交予收受程式的後手,所以其要求利用 GPL'ed 自由軟體的程式也必須採用相同的授權條款釋出,這種方式推動著現今許多自由軟體社群的運作。Richard Stallman 對自由軟體運動的貢獻除了編撰GPL授權條款外,其亦以 GPL 釋出 Emacs 編輯器、GCC(GNU Compiler Collection)和 GNU Debugger 等許多自由軟體程式。此外,他所主持的 GNU Project 亦在 Unix 上提供一系列的自由軟體工具。

1998 年,在 Linux 佔有率提高,且「開放源碼」一詞開始大量於媒體曝光的同時,Eric S. Raymond(ESR)和 Bruce Perens 成立了開放源碼促進會這個組織(Open Source Initiative, OSI),給予「開放源碼」一詞更為確切的定義,並提倡更務實的推廣方式,這使得開放源碼促進會的立場和自由軟體基金會近乎社會運動的方式不同,兩個組織也因此有了嫌隙,Richard Stallman 認為開放源碼促進會抹去了自由軟體的社會運動本質,模糊了自由軟體的中心道德思想和自由性;而開放源碼促進會則認為Richard Stallman的說法表露了自由軟體基金會的理想化偏見,「自由軟體 v.s. 開放源碼」的戰爭,也成了自由軟體社群中時常筆戰的經典話題之一。雖兩個組織時有齟齲,但必要時亦會聯合抗敵,例如:2000年聯合對抗微軟對於 GNU GPL 的攻擊和2004年反抗 SCO 對 Linux 提起的訴訟等。

台灣投入自由軟體的起源,可說是1991年教育部連接美國普林斯頓大學 JvNCnet,接上美國國家科學基金會網路 (National Science Foundation NET) 骨幹之後,台灣的自由軟體開發者,才得以即時與歐洲自由軟體運動接軌。一開始,台灣自由軟體的開發者與使用者以 User Group 的方式開始推行,最早可以追溯到1994年的「台灣 Linux 使用者組織」。同年,也開始有人在自由軟體作業系統上撰寫中文程式,如早先的 chdrv、crxvt 和 xcin 等,都在這個時期出現。

自由軟體在台灣發展的初期,所有的 package 都必須由使用者自行尋找、安裝,1994年出現的交大「雲觀I」和「雲觀III」則改變了這種形況,「雲觀I」可說是國人打包 Linux package 的濫觴,其中包括了當時最流行的 Slackware Linux 套件,是不少玩家進入自由軟體世界的啟蒙,當時的 Linux 尚未有中文介面。

Linux 中文介面的建立要到1998年 CLE 計畫釋出才初步達成,CLE 指的是 Chinese Linux Extension,其將許多中文程式搭配當時熱門的 Red Hat Linux 包成一個套件,讓使用建置 Linux 中文環境的困難度大為降低,CLE 當時的成果,目前仍散見於各大 Linux 散布版本中。

到了2000年,國內自由軟體社群建立了軟體自由協會(Software Liberty Association of Taiwan,SLAT)這個非營利的法人機構,作為國內自由軟體社群與外界溝通的窗口。接著,開始有推動者將自由軟體程式帶入校園和社區中,例如將自由軟體作業系統帶入鄉間的花蓮縣萬榮村計畫,便是自由軟體進入校園的起點,此類計畫希望藉由軟體自由的特性,縮短台灣城鄉差距的資訊落差窘境。

2003年,政府開始關注自由軟體商用的潛力,經濟部工業局展開「自由軟體產業推動計畫」,擴大自由軟體在台灣的應用幅度與研發能量。中央研究院資訊科學研究所接受該計畫執行社群分項工作,於該年成立自由軟體鑄造場(Open Source Software Foundry,OSSF)。同年,屬於產業界的 Linux 促進會也提出「阿里山計畫」,結合產官學界的力量,推動 Linux 產業發展計畫。

經歷多年的深耕實作,自由軟體社群愈來愈壯大,也有更多的使用者開始採用自由軟體,許多社群如 Tossug、KaLUG 等維持每週一聚的規畫,為自由軟體推動注入活血;Study-Area 和 Ubuntu 正體中文等自由軟體相關論壇,不乏許多熱心人士和使用者熱烈參與討論,形成一個資源豐富的自由軟體知識分享網絡。

政府部門近年更加重視自由軟體產業的發展,例如由教育部委辦,中華民國自由軟體協會(SLAT)承辦的教育部校園自由軟體應用諮詢中心(OSSACC),在全國中小學校園中,全力推動自由軟體的實際應用;經濟部工業局的自由軟體入口網站,整合國內各類自由軟體資訊,以滿足各界對自由軟體訊息的需求;中研院資訊所自由軟體鑄造場(OSSF)則持續推廣自由軟體概念並提供自由軟體法律授權的諮詢服務,促進台灣人才培育與產業合作。
 
另外在產業界,也開始將自由軟體應用融入產品販售策略裡,許多大廠如 ASUS 和 Acer 陸續以自由軟體作業系統作為新一代輕簡筆記型電腦的預設作業系統,使得自由軟體社群精神大振。在銷售數量上大獲成功的新一代輕簡筆記型電腦,一併吸納自由軟體社群的創意結晶,讓產品得以不斷推陳出新,越做越好,並催生不少的輕簡筆電社群支援網站。

時至今日,推動自由軟體已不再是一種革命運動,而是可實做的軟體開發方式。在許多前人的努力下,自由軟體已經在軟體應用上佔有一席之地,不論是伺服器領域或是個人桌面等都有良好的發展。也許就在不遠的將來,自由軟體甚至可能取代傳統商業授權軟體,取得主流地位。