自由軟體是允許使用者自由地使用、複製、研究、修改和分發的軟體。自由軟體不限制使用者自由地研究、修改和分發，因此必然是開源軟體。與自由軟體相對的是專有軟體，或譯私有軟體、封閉軟體。這幾類軟體的定義均與是否收取費用無關。自由軟體不禁止商業化，雖然通常免費，但不必須也不一定免費。發行者及所有使用者均可以自由地、無論收費或免費地複製、分發自由軟體。自由軟體受到選定的自由軟體授權協議保護而釋出（或是放置在公有領域），其發布以原始碼為主，二進位制檔案可有可無。 使用者 自由軟體對全世界的商業發展特別是硬體有巨大的貢獻，多數嵌入式裝置系統廠商鑑於自身無需支付授權費用和實用性方面的原因考慮也會在自由軟體的基礎上開發作業系統。世界上絕大多數作業系統多少都會包含有自由軟體元件（例如 BSD 的 TCPIP 協議棧廣泛被包括 MacOS，Windows 在內的專有商業作業系統使用）。隨著越來越多的自由軟體支援 Microsoft Windows 平臺，還有得益於 Android 平臺的普及，目前有上億的使用者在日常生活或工作中使用自由軟體。 自由軟體直接使用者往往是計算機方面的專業人士，或者有能力理解和改變原始碼的人。隨著 Ubuntu，Manjaro 等對普通使用者更友好的 GNULinux 作業系統的普及，普通使用者也能在缺少相關知識的情況下開箱即用。 自由軟體許可證 大多數自由軟體都使用類似的自由軟體許可證，使用最多的自由軟體許可如下 The MIT License The GNU General Public License v2 The Apache License The GNU General Public License v3 The BSD License The GNU Lesser General Public License LGPL The Mozilla Public License MPL The Eclipse Public License 意義與歷史 自由軟體的英文為「」。在英文裡「」一詞有「自由」、「免費」的雙重含意，對於如何區分自由軟體和免費軟體，自由軟體運動社群的創始人 zhhans 理查德斯托曼；zhhant 裡查史託曼； 做出了以下的定義：自由軟體的重點在於自由權，而非價格。要了解其所代表的概念，你應該將「free」想成是「言論自由」一詞中的含義，而不是「免費啤酒」一詞中的含義。 原文如下：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 自由軟體代表使用者可以自由地執行、複製、分發、學習、修改並改進該軟體。自由軟體的定義可以追溯至 GNU 宣言。 大部分自由軟體都在網際網路上自由釋出，往往不收取任何費用。一些或是以離線實體的方式發行，有時會酌情收取的費用（例如：工本費和運輸費），而人們可用任何價格來販售這些軟體。所以，自由軟體也可以是商業軟體：因為自由軟體許可證並不限制販賣軟體或者提供商業服務，這些並沒有違反例如 GPL 等自由軟體許可證。因此，自由軟體 是關乎自由的問題，與價格無關，軟體如何定價並不影響它是否被歸類為自由軟體。 自由軟體的定義 自由軟體基金會（FSF）對自由軟體的定義首次於 1989 年發表。這份定義後來被布魯斯裴倫斯（Bruce Perens）改寫為《Debian 自由軟體指導方針》。 根據斯托曼和自由軟體基金會（FSF）的定義，自由軟體賦予使用者四種自由 自由之零：不論目的為何，有使用該軟體的自由。 自由之一：有研究該軟體如何運作的自由，並且得以修改該軟體來符合使用者自身的需求。取得該軟體之原始碼為達成此目的之前提。 自由之二：有重新散佈該軟體的自由，所以每個人都可以藉由散佈自由軟體來敦親睦鄰。 自由之三：有改善再利用該軟體的自由，並且可以發表修訂後的版本供公眾使用，如此一來，整個社群都可以受惠。如前項，取得該軟體之原始碼為達成此目的之前提。 如果一軟體的使用者具有上述四種權利，則該軟體得以被稱之為「自由軟體」。也就是說，使用者必須能夠自由地、以不收費或是收取合理的散佈費用的方式、在任何時間再散佈該軟體的原版或是改寫版，在任何地方給任何人使用。如果使用者不必問任何人或是支付任何的許可費用從事這些行為，就表示其擁有自由軟體所賦予的自由權利。 自由軟體不是沒有版權 大部分的自由軟體可以無需費用自由獲取，並且它的原始碼可以自由修改並散佈，但它並不是沒有版權。版權是當某項作品完成時就自然產生了，不需申請或註冊，而其內涵通常包括署名、發表（公開）、授予他人使用等權利。如合法享有著作權者無條件放棄所有著作權，則該作品就被 釋入公有領域。需要注意的是，被釋入公有領域後，原著作權持有者就無法再對其他人如何使用該作品施加任何法律上的限制。因此科技巨頭可以合法地使用該等作品進行二次創作（例如製作新軟體），而該等二次創作品則在法律上享有完整的著作權，不受原著作權持有者的支配。 這並不符合自由軟體的定義。自由軟體必須能將 自由 無限傳承下去。因此自由軟體並未 釋入公有領域，而是將 傳承自由屬性 作為一項允許他人使用自由軟體的條件。如任何人使用了自由軟體二次開發的軟體未向他人開放原始碼，則其對該自由軟體的二次開發，即屬違反著作權法。因此，自由軟體在法律上並未放棄著作權，而是訂明瞭若干 自由 的定義，並要求使用者如欲行使這些自由，必須對衍生作品維持相同授權。 相反的例子是非自由軟體（封閉軟體）。如果，當使用者付費購買或者免費獲得某套軟體時，所得到的只是 使用權，使用者必須接受該軟體的軟體許可證才能使用這個軟體；而許可證列明軟體的原作者則仍然保有修改權，未經原作者同意進行修改屬違反許可證之行為，則該等軟體屬於封閉軟體。請注意，自由軟體也有許可證，常見的如 GNU 通用公共許可證，但這些許可證不會限制你獲取原始碼或者限制你修改軟體，唯一的要求是你對修改後的軟體必須應用同樣的或更寬鬆的許可證。即你修改後形成的新軟體，其他人也可以獲取其原始碼並修改，你不得限制他們這樣做，否則你當初的修改行為就因不符合 GNU 通用公共許可證而構成侵犯（之前參與編寫這個軟體的人所享有的）著作權。 自由軟體不使用封閉格式 封閉軟體通常會使用專屬的封閉格式，並且不允許使用者分發，這極大地限制了使用者的自由。而自由軟體則完全不同，由於自由軟體的原始碼是公開的，所以它所使用的任何格式都是透明的。自由軟體永遠不會只發布專屬的封閉格式軟體來限制使用者修改的自由。 自由軟體的精神領袖 自由軟體的精神領袖是理查德馬修斯托曼。他被人稱為「最後的真正駭客」，他認為一個好的軟體，應該自由自在地讓人取用。軟體不應該拿來做為相互傾軋、剝削的工具。所以他起草 GNU 通用公共許可證來保障自由軟體的自由，並創辦了自由軟體基金會來貫徹他的理念。領袖們有時被稱作終身仁慈獨裁者。 自由軟體與開源軟體 最早的開放原始碼定義是在 1998 年建立，來自 Debian 自由軟體指導方針。雖然大多數的開放原始碼軟體同時也是自由軟體，但是，GNU 專案認為 開源 這個詞並沒有抓住自由軟體的真正涵義，容易讓人過於著重軟體的質量、流行與成功而忽視或拋棄自由軟體精神的道德觀和社會價值，力主自由軟體是一個道德底線。 FreeBSD、OpenBSD 以及 NetBSD 的社群人員往往認為「Copyleft」是一種對自由的過度限制，是一種自由的侵害，因此他們傾向於使用較為寬鬆的 BSD、MIT 類似的協議，然而這類協議因為缺少相關的說明並不能避免其成果被專利流氓利用。一些公司 群體為了避免專利流氓的侵害而且也不想使用例如 GPLv3、MPL20 等 Copyleft 協議的情況下會選擇使用 Apache20 協議。 對於 BSD、MIT 這類較為寬鬆的自由軟體協議，GNU 專案認為這是對專有軟體的鬆懈和寬容式，因為這些協議不能避免其衍生作品成為限制使用者自由的專有軟體，一旦你允許他們這麼做，那麼你就無法捍衛其他人的自由了。，例如 FreeBSD 在 PlayStation 4 系統軟體的使用以及 BSD 的 TCPIP 協議棧在專有軟體的使用等。 形式上的差異 開源軟體與自由軟體是兩個不同的概念，只 要符合開源軟體定義的軟體就能被稱為開源軟體。而自由軟體有比開源軟體更嚴格的概念，因此所有自由軟體都是開放原始碼的，但不是所有的開源軟體都能被稱為「自由」。但一般，絕大多數開源軟體也都符合自由軟體的定義。 兩者內涵的差異 開放原始碼作用是，使用開放的開發方式，儘可能的使軟體最佳化，而自由軟體則將尊重使用者自由作為道德標準。 如果說「自由軟體」會引起誤解，（因為英文「」一詞有「自由」、「免費」的雙重含意），那麼「開放原始碼」的名字則會引起的誤解則更多。開源 很容易讓人認為是 只 要把原始碼「公開」出來就算是開源了，即 你可以看到原始碼。但是如果使用者的自由仍然得不到尊重，那麼即使公開原始碼也沒有意義。有的軟體公司只是為了想找使用者幫它除錯、吸收社群貢獻的功能，這樣子會破壞了自由軟體的原意。一個例子是 Tivo 公司生產的機頂盒。雖然它基於 GNULinux，TiVo 公司也按照許可證釋出了原始碼，但是卻禁止使用者在機頂盒上執行自己的程式，或重新安裝系統。 自由軟體的原意就是要給予使用者運用軟體的自由，這個『自由』就是自由軟體的精神所在。但是一些商業化開放的原始碼卻故意忽略了這個最重要的精神，反而無法讓使用者體認到『自由』的真意，那麼開源這一個替代自由軟體的辭句反而把自由的原意除去了。 自由軟體的精神領袖理查德馬修斯托曼很反對人們把開放原始碼和自由軟體混為一談。《Why Open Source misses the point of Free Software 》。 自由軟體與免費軟體 自由及開放原始碼軟體列表 免費軟體是一種不須付費就可取得的軟體，但是通常有其他的限制，使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的原始碼不一定會公開，有些免費軟體即使所謂開源但是因為有會限制使用者軟體自由如限制使用者修改重分發或者限定 限制特定人群使用等行為的限制性條款存在並不是自由軟體。 Tivo 化 是一種限制軟體自由的行為，即透過檢測可執行檔案簽名，禁止使用者安裝或執行修改後的可執行檔案，這種行為被 Richard Stallman 稱為 專制暴君。這個名字源自於 Tivo 公司在其數字影片錄影機的產品中使用了 GNU 和 Linux 核心的原始碼但是其從設計上限制了使用者的軟體自由，使用者不能在其產品上自由執行和使用修改後的系統。因此自由軟體基金會出版了 GPLv3，GNU 專案軟體的授權協議也隨之升級，然而因為各種因素很多 Linux 核心開發者對升級表示反對。 數字限制管理 數字限制管理或數字限制機制是自由軟體社群對數字版權管理的一種諷刺性說法，因為這種行為限制了使用者的軟體自由權利。自由軟體基金會針對此種從設計上就限制使用者軟體自由的行為發起了 Defective By Design 目前暫無官方中文譯名，維基使用者翻譯為設計式缺陷，可見 Talk 設計式缺陷運動。 JavaScript 陷阱 JavaScript 陷阱指使用者在瀏覽器中使用專有軟體卻毫不知情的現象，RMS 在 GNU 專案網站上給出了具體的定義。 為了解決這個問題，GNU 專案創造了提供探測並攔截使用者訪問的網頁上非自由、非平凡的 JavaScript 功能的 GNU LibreJS 給重視軟體自由的使用者使用。一些自由軟體社群，為了解決此類問題也作出了一些努力，例如由自由軟體基金會支援的為此專門成立了行動小組。 參見 ：理查德斯托曼選集 Copyleft GNU GNU 寬通用公共許可證 理查德馬修斯托曼 GNULinux 開放原始碼 Linux 的採用 自由開源軟體列表 自由及開放原始碼軟體許可證比較 海盜黨 分享主義 參考文獻 外部連結 《自由軟體，自由社會（第三版）》中文版線上自由閱讀 ，北京 GNULinux 使用者組翻譯。 自由軟體目錄 自由軟體基金會 中華民國軟體自由協會