自由軟體

維基百科,自由的百科全書
前往: 導覽搜尋
GNU計劃的自由軟體之標誌。
自由軟體心智圖

根據自由軟體基金會的定義,自由軟體(Free Software)是一種可以不受限制地自由使用、複製、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是專有軟體(Proprietary Software)非自由軟體,也常被稱為私有軟體、封閉軟體(其定義與是否收取費用無關──自由軟體不一定是免費軟體)。自由軟體受到選定的「自由軟體授權協議」保護而發佈(或是放置在公有領域),其發布以原始碼為主,二進制檔可有可無。自由軟體的授權條款類型主要有GPL授權條款BSD授權條款兩種。[1]

用戶[編輯]

自由軟體對全世界的商業發展特別是硬體有巨大的貢獻,多數鑲入式使用BSD而無授權費用。世界上多數計算機包含自由軟體成分(特別是從寬鬆的類BSD協議中分離的部分),但是直接使用不出售軟體軟體本身獲取利益的Google可以算作最大受益者。自由軟體使成千上萬的人的日常工作更加便利,為了滿足使用者的各種應用需要。

以往,真正的自由軟體直接使用者往往是開發者,或者有能力改變原始碼。但是這種趨勢隨著Ubuntu等桌面GNU/Linux的普及而改變著。

意義與歷史[編輯]

自由軟體的英文為「free software」,「free」一詞有「自由」、「免費」的雙重含意,因此要如何分辨自由軟體(libre)和免費軟體(gratis)?自由軟體運動的創始人——里查·史托曼提供了以下的定義:『自由軟體的重點在於自由權,而非價格。要了解其所代表的概念,你應該將「自由」想成是「言論自由」,而不是「免費啤酒」』。[2]更精確地說,自由軟體代表電腦使用者擁有選擇和任何人合作之自由、擁有掌控他們所用的軟體之自由。在GNU宣言(GNU Manifesto)中包含了史托曼在一開始對自由軟體使用定義的混淆。

大部分的自由軟體都是在網際網路發佈,並且不收任何費用;或是以離線實體的方式發行,有時會酌情收取的費用(例如:工本費和運輸費),而人們可用任何價格來販售這些軟體。所以,自由軟體也可以是商業軟體:因為販賣軟體沒有違反自由軟體的定義。

最早的開放源代碼定義是在1998年創建,來自Debian的自由軟體指引。當時大多數的開放原始碼軟體同時也是自由軟體,反之亦然。然而,開放源代碼沒有抓住自由軟體的真正涵義。前者著重軟體改進,後者是一種精神,力主開放源代碼是道德問題。

基於新BSD授權條款的作業系統都是使用自由軟體的授權協議,FreeBSDOpenBSD以及NetBSD,不同的是它們對於「Copyleft」的闡述,他們常認為「Copyleft」是一種對自由的過度限制,是一種自由的侵害。

免費軟體(freeware)」是一種不須付費就可取得的軟體,但是通常有其他的限制,使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的原始碼不一定會公開,開放的源代碼會限制重製及再發行的自由。

自由軟體的定義[編輯]

自由軟體基金會(FSF)對自由軟體的定義首次於1989年發表[3]。這份定義後來被布魯斯·裴倫斯(Bruce Perens)改寫為《Debian自由軟體指導方針(DFSG)》[4]

根據斯托曼和自由軟體基金會(FSF)的定義,自由軟體賦予使用者四種自由:[5]

  • 自由之零:不論目的為何,有使用該軟體的自由。
  • 自由之一:有研究該軟體如何運作的自由,並且得以修改該軟體來符合使用者自身的需求。取得該軟體之源碼為達成此目的之前提。
  • 自由之二:有重新散布該軟體的自由,所以每個人都可以藉由散布自由軟體來敦親睦鄰。
  • 自由之三:有改善再利用該軟體的自由,並且可以發表修訂後的版本供公眾使用,如此一來,整個社群都可以受惠。如前項,取得該軟體之源碼為達成此目的之前提。

如果一軟體的使用者具有上述四種權利,則該軟體得以被稱之為「自由軟體」。也就是說,使用者必須能夠自由地、以不收費或是收取合理的散布費用的方式、在任何時間再散布該軟體的原版或是覆寫版,在任何地方給任何人使用。如果使用者不必問任何人或是支付任何的許可費用從事這些行為,就表示她/他擁有自由軟體所賦予的自由權利。

自由軟體並不是沒有著作權[編輯]

大部分的自由軟體可以免費取得,並且它的原始碼可以自由修改並散佈但它並不是沒有著作權。著作權是當某項作品完成時就自然產生了,不需申請或註冊。以本文為例,本文在寫作的同時,作者即擁有著作權,任何人皆無法剝奪。而當使用者花錢購買某套軟體時,所購買的只是「使用權」,使用者必須接受該軟體的「軟體授權」,才能使用這個軟體;而軟體的原作者則仍然保有其「著作權」。

自由軟體並不使用封閉格式[編輯]

封閉軟體通常會使用專屬的封閉格式,但這會極大地限制了使用者的自由度。而自由軟體則完全不同,由於自由軟體的原始碼是公開的,所以它所使用的任何格式都是透明的。自由軟體永遠不會利用專屬的封閉格式來限制使用者分發或修改的自由。

常見自由軟體協議[編輯]

GPL[編輯]

使用者必須接受軟體的『軟體授權』,才能使用該軟體,而在自由軟體中,最常見的授權方式就是GPL - GNU General Public License了。[6]

因為使用者是免費取得了自由軟體的原始碼,那麼如果使用者修改了它的原始碼,基於公平互惠的原則,使用者也必須公開其修改的成果。而這就是GPL的精神──自由、分享、互惠。

BSD授權條款[編輯]

BSD授權條款(Berkeley Software Distribution license),是自由軟體中使用最廣泛的授權條款之一。BSD軟體就是遵照這個授權條款來釋出,該授權條款也因此而得名。

BSD套件最初所有者是加州大學董事會,這是由於BSD源自柏克萊加州大學。BSD開始後,BSD授權條款得以修正,使得以後許多BSD變種,都採用類似風格的授權條款。

跟其他授權條款相比,從GNU通用公眾授權條款(GPL)到限制重重的著作權(Copyright),BSD授權條款比較寬鬆,甚至跟公有領域更為接近。事實上,BSD授權條款被認為是copycenter(中間版權),界乎標準的copyright與GPL的copyleft之間。"Take it down to the copy center and make as many copies as you want"。[7]

自由軟體的精神領袖[編輯]

自由軟體的精神領袖是理察·馬修·斯托曼。他被人稱為『最後的真正駭客』,他認為一個好的軟體,應該自由自在地讓人取用。軟體不應該拿來做為相互傾軋、剝削的工具。所以他起草GNU通用公眾授權條款來保障自由軟體的自由,並創辦了自由軟體基金會來貫徹他的理念。領袖們有時被稱作「Benevolent Dictators」。

開源軟體與自由軟體[編輯]

形式上的差異[編輯]

開源軟體與自由軟體是兩個不同的概念,只要符合開源軟體定義的軟體就能被稱為開源軟體。自由軟體是一個比開源軟體更嚴格的概念,因此所有自由軟體都是開放原始碼的,但不是所有的開源軟體都能被稱為「自由」。但在現實上,絕大多數開源軟體也都符合自由軟體的定義。比如,遵守GPL和BSD許可的軟體都是開放的並且是自由的。

開放原始碼的規定較寬鬆,而自由軟體的規定較嚴苛。很多的開放原始碼所認可的授權根本不算是自由軟體,所以自由軟體不得不和開放原始碼劃清界線了。

兩者內涵的差異[編輯]

  1. 開放原始碼作用是儘可能的使軟體最佳化;自由軟體則將自由作為道德標準。
  2. 如果說「自由軟體」會引起誤解,(因為英文「Free」一詞有「自由」、「免費」的雙重含意),那麼「開放原始碼」的名字會引起的誤解則更多。開源很容易讓人以為只要把原始碼「公開」出來就算是開源了,但是如果使用者無法自由運用這些原始碼,那麼即使公開原始碼也沒有意義。有的軟體公司只是為了想找使用者幫它debug、吸收社群貢獻的功能,這樣子會破壞了自由軟體的原意。
  3. 自由軟體的原意就是要給予使用者運用軟體的自由,這個『自由』就是自由軟體的精神所在。但是為了商業化開放原始碼卻故意忽略了這個最重要的精神,反而無法讓使用者體認到『自由』的真意,那麼開源這一個替代自由軟體的辭句反而把自由的原意除去了。

而自由軟體的精神領袖理察·馬修·斯托曼也很反對人們把開放原始碼和自由軟體混為一談。[8]

注釋[編輯]

  1. ^ What is free software and why is it so important for society?. Free Software Foundation, Inc. [2011/10/5查閱] (英文). 
  2. ^ 原文如下:Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in "free speech", not as in "free beer"
  3. ^ GNU's Bulletin, vol. 1 no. 6
  4. ^ Debian Free Software Guidelines(DFSG,內有各種語言版本)
  5. ^ The Free Software Definition. Gnu.org. [2010-11-12]. 
  6. ^ GNU General Public License
  7. ^ 參照自:copycenter
  8. ^ Why「Open Source」misses the point of Free Software

參見[編輯]

外部連結[編輯]