自由軟體簡介

注意,將會開啟一個新視窗 PDF列印E-mail

自由軟體簡介

葉平、鄭大慶、胡師賢
(本文出自軟體自由協會網站)


以 Linux 為首的自由軟體熱潮正席捲著全球,不斷地擴大其對全球知識經濟體系與世界各國資訊工業的影響力,許多國際大廠紛紛投入各相關自由軟體的開發工作上。IBM 的執行長 Lou Gerstner 在 2000 年底宣示: IBM 在一年內將在 Linux 上投資十億美金。海峽對岸更是將 Linux 與自由軟體視為在這場全球知識經濟的競賽中。增強國家資訊安全、 提升軟體實力、 縮短數位落差 的核心基礎建設與技術跳板。身為資訊大國的台灣自然不能缺席於這股知識經濟的浪潮。 本章是對自由軟體的簡介,我們嘗試回答以下問題:「什麼是自由軟體?」、「自由軟體的優勢在哪裡?」、「自由軟體和傳統商業軟體有何不同?」、「自由軟體的趨勢為何?」,以做為之後討論的基礎。

一、什麼是自由軟體?

You should think of ``free'' as in ``free speech,'' not as in ``free beer.'' 
-- Richard M. Stallman

自由軟體前所未有的賦予軟體使用者以下的四種自由:

〔自由0〕使用的自由:

可以不受任何限制地來使用軟體。

〔自由1〕研究的自由:

可以研究軟體運作方式、並使其適合個人需要。

〔自由2〕散佈的自由:

可以自由地複製此軟體並散佈給他人。

〔自由3〕改良的自由:

可以自行改良軟體並散佈改良後的版本以使全體社群受益。

它和傳統商業軟體之間最顯著的差異在於:

  • 自由軟體鼓勵你拷貝
  • 自由軟體允許你研究、改良

正因為自由軟體允許你研究、改良,使得人們得以「站在巨人的肩膀上」,而不必「重新發明輪子」,這種和全球基礎科學研究類似的作法,對於科技的進步有著巨大的影響。 在數以萬計的自由軟體計劃中,Linux 作業系統是最廣為人知而且影響深遠的自由軟體之一,而今天的 Internet 是以 Sendmail、BIND等自由軟體為骨幹架構起來的,此外,絕大部分新開發出來的中央處理器 (CPU) 上的第一個應用軟體開發系統都是自由軟體 Gcc。

二、自由軟體的優勢

一言以蔽之,就是控制權。 
-- Robert Young,《Linux 紅帽旋風》

控制權是自由軟體相對於傳統商業軟體的最大競爭優勢,特別是擁有程式的源碼為國家在知識經濟時代確保資訊安全的基礎、軟體產業發展與升級的捷徑。 另外從自由軟體的四項自由所衍生出來的可靠

  • 高效能
  • 伸縮性佳
  • 可快速升級
  • 低成本

等競爭優勢,也使得自由軟體所採用的開放程式碼開發方式成為一種新的標準與趨勢。微軟公司為了因應此潮流,對於其在資訊家電方面的主力產品 Windows CE和網路服務.Net的程式碼部分,就開始以「微軟程式碼分享授權」 (Microsoft Shared Source License)的方式,希望透過部分程式碼的開放來增加工程師對微軟產品的掌握度,加速客戶的產品開發時程與應用品質,由此可見自由軟體的威力。

三、自由軟體的運作方式

Linus' Law: Given enough eyeballs, all bugs are shallow. 
-- Eric S. Raymond

自由軟體是如何能擁有上節所說的各項優點呢?關鍵字是「社群」。網路社群這種數千年首見的組織型態,讓人們在素未謀面的情況下,除了可以透過網際網路上的電子郵件、網站等種種通訊工具進行互動之外,甚至可以協同合作,共同開發程式,這是傳統軟體工程學者無法想像的事,但它的的確確發生了。 這發生的機制 Linus' Law說的很清楚:只要有夠多的眼睛注視,所有的蟲兒 (bugs) 都很淺顯。也就是說,任何軟體的邏輯錯誤,世界上總有那麼一個人,對他來講找到並修復這個錯誤是易如反掌的,因此,一個人數眾多的社群是自由軟體成功的必要條件。

 

自由軟體的發展就是在開放網路社群這樣超現代化的運作方式下進行,這和傳統的商業軟體的封閉的運作模式大異其趣。當社群人數到達一定的臨界點之後,Linus' Law 就會成立,這個時候軟體進步的速度飛快,品質大幅提升,吸引了更多人成為使用者,同時加入社群的人數也會成比例增加。自由軟體的成長循環成形了:社群越大,軟體越好;軟體越好,使用者越多;使用者越多,社群越大(如圖1.1所示見上圖)。總而言之,社群是 Linux 發展的重要基石,此舉不但推翻了舊時代的軟體發展模式,更重要的是,未來的資訊科技的腳步,一定會像滾雪球一樣的翻騰前進。

四、未來的趨勢

Linux will do for software what the Internet did for networks. 
-- Sam Palmisano at LinuxWorld Expo 2001

未來是網路與通訊的時代,不但是人和人可以利用手機、PDA、上網機、電腦設備等彼此聯絡,設備與設備之間也將藉由網際網路、GSM、藍芽、家用無線等通訊方式互相聯繫。就像以自由軟體架構的 Internet 將所有不同的專屬網路連結起來一樣,Linux 因為其開放的源碼,將有很大的潛力成為各種軟體的共同作業系統!經過長時間的觀察與分析,我們認為以下三大領域將成為知識經濟時代資訊產業的重點:

  • 資訊家電
  • 伺服器
  • 大型系統

而自由軟體因其伸縮性、穩定性等優點,在此三大領域均佔有優勢。軟體自由的概念與科技發展結合、社群與產業的互動、配合程式碼的開放,形成網際網路時代一種新興、成功的程式開發方式。軟體自由協會深信,在下一波知識經濟的循環中,以 Linux 為首的眾多自由軟體將成為我國資訊工業的發展過程中不可或缺的角色。