自由軟件

GNU計劃的自由軟體之標誌。
自由軟體心智圖

自由軟體(英語:free software),根據自由軟體基金會對其的定義,是一類可以不受限制地自由使用、複製、研究、修改和分發的,尊重使用者自由的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是專有軟體(英語:proprietary software,一些人也會將其翻譯為私有軟體、封閉軟體),後者的定義與是否收取費用無關,事實上,自由軟體不一定是免費軟體,同時自由軟體本身也並不抵制商業化。自由軟體受到選定的「自由軟體授權協定」保護而發佈(或是放置在公有領域),其發布以原始碼為主,二進制檔案可有可無。

使用者

自由軟體對全世界的商業發展特別是硬體有巨大的貢獻,多數嵌入式裝置系統廠商鑑於自身無需支付授權費用和實用性方面的原因考慮也會在自由軟體的基礎上開發作業系統。世界上絕大多數作業系統多少都會包含有自由軟體組件(例如BSDTCP/IP協定棧廣泛被包括MacOSWindows在內的專有商業作業系統使用)。隨著越來越多的自由軟體支援 Microsoft Windows 平台,還有得益於 Android 平台的普及,目前有上億[2]的使用者在日常生活或工作中使用自由軟體。

自由軟體直接使用者往往是電腦方面的專業人士,或者有能力理解和改變原始碼的人。隨著Ubuntu[3]Manjaro[4][5] 等對普通使用者更友好的 GNU/Linux 作業系統的普及,普通使用者也能在缺少相關知識的情況下開箱即用

自由軟體授權條款

大多數自由軟體都使用類似的自由軟體授權條款,使用最多的自由軟體授權如下[6][7]

意義與歷史

自由軟體的英文為「free software」。在英文裡「free」一詞有「自由」、「免費」的雙重含意,對於如何區分自由軟體(拉丁語libre)和免費軟體(拉丁語gratis),自由軟體運動社群的創始人——里查·史托曼做出了以下的定義:「自由軟體的重點在於自由權,而非價格。要了解其所代表的概念,你應該將「free」想成是「言論自由」一詞中的含義,而不是「免費啤酒」一詞中的含義。」[8]自由軟體代表使用者可以自由地執行、拷貝、分發、學習、修改並改進該軟體。[9]自由軟體的定義可以追溯至GNU宣言

大部分自由軟體都在網際網路上自由發佈,往往不收取任何費用。一些或是以離線實體的方式發行,有時會酌情收取的費用(例如:工本費和運輸費),而人們可用任何價格來販售這些軟體。所以,自由軟體也可以是商業軟體:因為自由軟體授權條款並不限制販賣軟體[10][11]或者提供商業服務[12],這些並沒有違反例如GPL等自由軟體授權條款[13]。因此,「自由軟體」是關乎自由的問題,與價格無關,軟體如何定價並不影響它是否被歸類為自由軟體。[10]

自由軟體的定義

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

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

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

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

自由軟體不是沒有著作權

大部分的自由軟體可以無需費用自由取得,並且它的原始碼可以自由修改並散佈,但它並不是沒有著作權。著作權是當某項作品完成時就自然產生了,不需申請或註冊,而其內涵通常包括姓名標示、發表(公開)、授予他人使用等權利。如合法享有著作權者無條件放棄所有著作權,則該作品就被「釋入公有領域」。需要注意的是,被釋入公有領域後,原著作權持有者就無法再對其他人如何使用該作品施加任何法律上的限制。因此科技巨頭可以合法地使用該等作品進行二次創作(例如製作新軟體),而該等二次創作品則在法律上享有完整的著作權,不受原著作權持有者的支配。

這並不符合自由軟體的定義。自由軟體必須能將「自由」無限傳承下去。因此自由軟體並未「釋入公有領域」,而是將「傳承自由屬性」作為一項允許他人使用自由軟體的條件。如任何人使用了自由軟體二次開發的軟體未向他人開放原始碼,則其對該自由軟體的二次開發,即屬違反著作權法。因此,自由軟體在法律上並未放棄著作權,而是訂明了若干「自由」的定義,並要求使用者如欲行使這些自由,必須對衍生作品維持相同授權。

相反的例子是非自由軟體(封閉軟體)。如果,當使用者付費購買或者免費獲得某套軟體時,所得到的只是「使用權」,使用者必須接受該軟體的軟體授權條款才能使用這個軟體;而授權條款列明軟體的原作者則仍然保有修改權,未經原作者同意進行修改屬違反授權條款之行為,則該等軟體屬於封閉軟體。請注意,自由軟體也有授權條款,常見的如GNU通用公眾授權條款,但這些授權條款不會限制你取得原始碼或者限制你修改軟體,唯一的要求是你對修改後的軟體必須應用同樣的或更寬鬆的授權條款。即你修改後形成的新軟體,其他人也可以取得其原始碼並修改,你不得限制他們這樣做,否則你當初的修改行為就因不符合GNU通用公眾授權條款而構成侵犯(之前參與編寫這個軟體的人所享有的)著作權。[18]

自由軟體不使用封閉格式

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

自由軟體的精神領袖

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

自由軟體與開源軟體

最早的開放原始碼定義是在1998年建立,來自Debian自由軟體指導方針。雖然大多數的開放原始碼軟體同時也是自由軟體,但是,GNU專案認為「開源」這個詞並沒有抓住自由軟體的真正涵義,容易讓人過於著重軟體的品質、流行與成功而忽視或拋棄自由軟體精神的道德觀和社會價值,力主自由軟體是一個道德底線。[19]

FreeBSDOpenBSD以及NetBSD的社群人員往往認為「Copyleft」是一種對自由的過度限制,是一種自由的侵害,因此他們傾向於使用較為寬鬆的BSDMIT類似的協定,然而這類協定因為缺少相關的說明並不能避免其成果被專利流氓利用。[20]一些公司/群體為了避免專利流氓的侵害而且也不想使用例如GPLv3MPL2.0等Copyleft協定的情況下會選擇使用Apache2.0協定

對於BSDMIT這類較為寬鬆的自由軟體協定,GNU專案認為這是對專有軟體的鬆懈(英語:lax)和寬容式(英語:permissive[21][22],因為這些協定不能避免其衍生作品成為限制使用者自由的專有軟體,一旦你允許他們這麼做,那麼你就無法捍衛其他人的自由了。[23][22],例如FreeBSD在PlayStation 4系統軟體的使用以及BSD的TCP/IP協定棧在專有軟體的使用等。

形式上的差異

開源軟體與自由軟體是兩個不同的概念,只要符合開源軟體定義的軟體就能被稱為開源軟體。而自由軟體有比開源軟體更嚴格的概念,因此所有自由軟體都是開放原始碼的,但不是所有的開源軟體都能被稱為「自由」。但一般,絕大多數開源軟體也都符合自由軟體的定義。

兩者內涵的差異

  1. 開放原始碼作用是,使用開放的開發方式,儘可能的使軟體最佳化,而自由軟體則將尊重使用者自由作為道德標準。
  2. 如果說「自由軟體」會引起誤解,(因為英文「Free」一詞有「自由」、「免費」的雙重含意),那麼「開放原始碼」的名字則會引起的誤解則更多。「開源」很容易讓人認為是只要把原始碼「公開」出來就算是開源了,即「你可以看到原始碼」。但是如果使用者的自由仍然得不到尊重,那麼即使公開原始碼也沒有意義。有的軟體公司只是為了想找使用者幫它除錯、吸收社區貢獻的功能,這樣子會破壞了自由軟體的原意。一個例子是Tivo公司生產的機上盒。雖然它基於GNU/Linux,TiVo公司也按照授權條款釋出了原始碼,但是卻禁止使用者在機上盒上執行自己的程式,或重新安裝系統。[19]
  3. 自由軟體的原意就是要給予使用者運用軟體的自由,這個『自由』就是自由軟體的精神所在。但是一些商業化開放的原始碼卻故意忽略了這個最重要的精神,反而無法讓使用者體認到『自由』的真意,那麼開源這一個替代自由軟體的辭句反而把自由的原意除去了。

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

自由軟體與免費軟體

自由及開放原始碼軟體列表

免費軟體(英語:freeware)是一種不須付費就可取得的軟體,但是通常有其他的限制,使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的原始碼不一定會公開,有些免費軟體即使所謂開源但是因為有會限制使用者軟體自由如限制使用者修改重分發或者限定/限制特定人群使用等行為的限制性條款存在並不是自由軟體。

Tivo化

Tivo化 是一種限制軟體自由的行為,即通過檢測可執行檔簽章,禁止使用者安裝或執行修改後的可執行檔,這種行為被 Richard Stallman 稱為「專制暴君」(英語:tyrants)[19]。這個名字源自於Tivo公司在其數位影片錄影機的產品中使用了GNULinux核心的原始碼但是其從設計上限制了使用者的軟體自由,使用者不能在其產品上自由執行和使用修改後的系統。因此自由軟體基金會出版了GPLv3,GNU專案軟體的授權協定也隨之升級,然而因為各種因素很多Linux核心開發者對升級表示反對。

數字限制管理

數字限制管理(英語:Digital Restrictions Management)或數字限制機制(英語:Digital Restrictions Mechanisms)是自由軟體社群對數位版權管理的一種諷刺性說法,因為這種行為限制了使用者的軟體自由權利。[25]自由軟體基金會針對此種從設計上就限制使用者軟體自由的行為發起了Defective By Design[26]運動。

JavaScript陷阱

JavaScript陷阱(英語:The JavaScript Trap)指使用者在瀏覽器中使用專有軟體卻毫不知情的現象,RMS在GNU專案網站上給出了具體的定義[27]

為了解決這個問題,GNU專案創造了提供探測並攔截使用者存取的網頁上非自由、非平凡的JavaScript功能的GNU LibreJS給重視軟體自由的使用者使用。[27]一些自由軟體社群,為了解決此類問題也作出了一些努力,例如由自由軟體基金會支援的LibrePlanet為此專門成立了行動小組[28]

參見

參考文獻

  1. ^ What is free software and why is it so important for society?. Free Software Foundation, Inc. [2011-10-05] (英語). 
  2. ^ Brandom, Russell. There are now 2.5 billion active Android devices. The Verge. 2019-05-07 [2019-08-14]. 
  3. ^ Evangelho, Jason. Beginner's Guide: How To Install Ubuntu Linux 18.04 LTS. Forbes (英語). Ubuntu gets out of your way. It doesn't nag you; it just works...This will open up options to activate optional Nvidia or AMD drivers, get you loaded up on media codecs for playing a wider range of music and video formats, and in general supply more hardware support out of the box. 
  4. ^ 7 Reason Why I Use Manjaro Linux And You Should Too. https://itsfoss.com/. 2017-02-15. When I install Manjaro, it works out of the box. 
  5. ^ 7 Essential Things To Do After Installing Arch Linux - It's FOSS. https://itsfoss.com/. 2018-01-21. If you want things running out of the box, you should use Manjaro Linux. 
  6. ^ Top 20 licenses. Black Duck Software. 19 November 2015 [19 November 2015]. (原始內容存檔於2016-07-19). 1. MIT license 24%, 2. GNU General Public License (GPL) 2.0 23%, 3. Apache License 16%, 4. GNU General Public License (GPL) 3.0 9%, 5. BSD License 2.0 (3-clause, New or Revised) License 6%, 6. GNU Lesser General Public License (LGPL) 2.1 5%, 7. Artistic License (Perl) 4%, 8. GNU Lesser General Public License (LGPL) 3.0 2%, 9. Microsoft Public License 2%, 10. Eclipse Public License (EPL) 2% 
  7. ^ Balter, Ben. Open source license usage on GitHub.com. github.com. 2015-03-09 [2015-11-21]. "1 MIT 44.69%, 2 Other 15.68%, 3 GPLv2 12.96%, 4 Apache 11.19%, 5 GPLv3 8.88%, 6 BSD 3-clause 4.53%, 7 Unlicense 1.87%, 8 BSD 2-clause 1.70%, 9 LGPLv3 1.30%, 10 AGPLv3 1.05% 
  8. ^ 原文如下: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"
  9. ^ 什么是自由软件?. www.gnu.org. [2020-01-31] (中文(中國大陸)). 
  10. ^ 10.0 10.1 什么是自由软件?. www.gnu.org (中文(中國大陸)). 
  11. ^ Free as in Freedom: Chapter 9. www.oreilly.com. 
  12. ^ Why Making Money from Free Software Matters - The H Open: News and Features. www.h-online.com. As companies like Red Hat have grown in size and profitability, so has the credibility of free software options among larger enterprises. 
  13. ^ GNU General Public License. www.gnu.org (英語). You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 
  14. ^ GNU's Bulletin, vol. 1 no. 6
  15. ^ Debian Social Contract. www.debian.org. The Debian Free Software Guidelines (DFSG) part of the contract, initially designed as a set of commitments that we agree to abide by, has been adopted by the free software community as the basis of the Open Source Definition. 
  16. ^ Open Source Initiative. opensource.org. The Open Source Definition was originally derived from the Debian Free Software Guidelines (DFSG). 
  17. ^ The Free Software Definition. Gnu.org. [2010-11-12]. 
  18. ^ 什么是Copyleft?. www.gnu.org (中文(中國大陸)). 
  19. ^ 19.0 19.1 19.2 GNU 工程的哲学. www.gnu.org (中文(中國大陸)). 
  20. ^ Software patents — Obstacles to software development. www.gnu.org (英語). 
  21. ^ gnu.org. www.gnu.org (英語). 
  22. ^ 22.0 22.1 為什麼要用著作傳 (Copyleft)?. www.gnu.org (中文(臺灣)). 採用任一種 BSD 授權條款,或者其他放任、寬容式的授權條款,來發行您的程式碼並沒有錯;那個程式仍屬於自由軟體,它也仍對我們社群有所貢獻。但這個力道相當薄弱,在大多數情況下,這並不是促進使用者自由分享軟體與修改軟體的最佳方式。 
  23. ^ gnu.org. www.gnu.org (英語). 
  24. ^ Why「Open Source」misses the point of Free Software
  25. ^ Proprietary DRM. www.gnu.org. 
  26. ^ 目前暫無官方中文譯名,維基使用者翻譯為設計式缺陷,可見Talk:設計式缺陷
  27. ^ 27.0 27.1 JavaScript的陷阱. www.gnu.org (中文(中國大陸)). 
  28. ^ Group:Free Javascript Action Team - LibrePlanet. libreplanet.org. 

外部連結