自由軟體

自由軟體（free software）是允許使用者自由地使用、複製、研究、修改和分發的軟體。

## 概念的來源

1983年9月，里查·史托曼在net.unix-wizards和net.usoft新聞組上公布了GNU計劃。因為先前在MIT經歷了施樂印表機故障，惟軟體原理不開放導致斯托曼無法把編寫好的卡紙提醒程序上傳印表機，專有軟體日漸強大的勢頭讓斯托曼感到他有義務去保護和傳承他曾經在MIT所感受到的黑客文化。在 《Dr. Dobb’s Journal of Software Tools》這本雜誌的 1985 年 3 月期上，他把之前在新聞組上的論述彙編成為了第一版的GNU 宣言。GNU宣言在行文中提到了freeware，但是與今天廣為流傳的免費軟體義不同，這裡的freeware是指一種能夠分享軟體代碼原理的，允許大眾買賣，自由分發的特殊軟體類型。後來GNU計劃的參與者為了避免歧義就使用了Free Software（中文：自由軟體）這一詞組。

## 定義

在英文裡「free」一詞有「自由」、「免費」的雙重含意。為了避免歧義，斯托曼對 Free Software 中 free 的含義做出了如下解釋：「自由軟體的重點在於自由權，而非價格。要了解其所代表的概念，你應該將「free」想成是「言論自由」（free speech）一詞中的含義，而不是「免費啤酒」（free beer）一詞中的含義。」

### 自由軟體允許商業行為

符合自由軟體定義的許可證不會限制對於軟體二進制檔案的販賣，一些許可證如GNU通用公共許可證（GNU GPL）甚至允許使用物理介質分發原始碼的時候收取一定量的工本費。但是，對於GNU通用公共許可證來說，其條款要求版權所有者不可向使用者索要授權費或版稅，或就使用者行使其所授任意權利時徵收額外費用。

### 自由軟體基金會的自由軟體定義

自由軟體基金會（FSF）對自由軟體的定義並非一步到位，於1986年發表的GNU's Bulletin, vol. 1 no. 1定義了兩種軟體上的自由。

根據FSF如今的定義，自由軟體能賦予使用者四種自由:

- 依照你的想法執行該程式的自由，無論任何目的（自由之零）。
- 研究該程式如何運作的自由，並依照你的想法修改它以符合你的運算所需（自由之壹）。能存取程式的源始碼 (source code) 是這項自由的先決條件。
- 再次散布程式副本的自由，如此你就能幫助他人（自由之貳）。
- 將你修改過後的版本散布給他人的自由（自由之參）。如此你就有機會讓你的改善惠及社群整體。能存取源始碼是這項自由的先決條件。

根據SPDX的網站記錄，FSF定義的自由軟體受到該組織認可的各類自由軟體許可證保護而發佈（或是放置在公有領域）。

## 分歧

### 開源軟體概念的出現

根據開放原始碼促進會（OSI）的歷史記錄，在帕洛阿爾托的一次自由軟體峰會上，因為部分參會者想避免Free Software這個標籤所帶來的哲學和政治含義，他們就提出使用開源軟體（open source software）這一詞組代指自由軟體；OSI在2006年的FAQ則描述：「Open Source」詞組，為自由軟體的營銷術語。gnu.org的一篇論述認為在早期，部分人使用「Open Source」是為了避免「Free」所帶來的歧義。如今，自由軟體基金會與開放原始碼促進會分別認可的自由軟體許可證與開源軟體許可證已經不完全重疊。

最早的開源定義參考了Debian 自由軟體指導方針，並於1998年首次發布。從OSI的創始人之一ESR看來，開放原始碼運動的哲學是使用開放的開發方式，儘可能的使軟體最佳化。而OSI的另一位創始人布魯斯·佩倫斯則在Debian的官方郵件列表里公開表示：It's Time to Talk About Free Software Again雖然大多數的開放原始碼軟體同時也是自由軟體，但是，gnu.org認為「開源」這個詞並沒有抓住自由軟體的真正涵義，容易讓人過於著重軟體的質量、流行與成功而忽視或拋棄自由軟體哲學的道德觀和價值取向，力主使用「自由軟體」這一概念。

### 對於許可證類型的偏好

根據gnu.org的記載，寬鬆許可證的支持者中有人認為使用這樣的許可證是一種謙遜的行為，也有這類許可證的支持者則認為不應該對下游軟體開發者說不，因此他們傾向於使用較為寬鬆的，類似BSD這樣的許可證。不過，BSD，MIT這類許可證因為缺少相關的說明並不能避免其成果被專利流氓利用。同樣是寬鬆許可證的Apache 2.0在許可證文本中則明確提到專利權，正確運用的情況下能保護著作權所有者的相關權利。TechCrunch的一篇文章舉例，若開發者研發出了一種已經自行申請了專利的新圖像處理演算法，並將其加入了某使用Apache 2.0許可證的軟體之後，該演算法的專利保護效應能通過該許可證傳播到所有該軟體使用者的軟體上。Apache 2.0與GPL第三版的許可證條文中都包含專利反制條款，假使軟體的使用者對含有這類條款的軟體的其他使用者或者任何一個開發者提出專利侵權的主張或者訴訟，權利人有權終止該使用者使用此類軟體內含專利甚至許可證所授權的其他權利（視許可證而定）。

對於寬鬆的自由軟體許可證，gnu.org認為，如果允許自由軟體的衍生作品成為專有軟體，那麼你就無法捍衛他人的自由了。例如FreeBSD項目的軟體被集成進專有的PlayStation 4系統，以及BSD系列許可證的TCP/IP協議棧在專有軟體Microsoft Windows中的使用等。

## 開發自由軟體的動機

部分經濟學論文指出：軟體市場中，軟體分發的邊際成本可以忽略不計。Ghosh (1998) 在其論文中把網路上流通的免費的財貨比作「大湯鍋」（cooking pot）；自由或開源軟體的開發者把他們的軟體倒入一口公共的「湯鍋」，湯鍋里的混合物可以被任何人自由的獲取。ESR 認為激勵人們編寫軟體並捐贈的動機是：開發並分發對於特定領域的軟體解決方案所帶來的榮譽感和自我實現。

根據來自麻省理工斯隆管理學院的研究者在2003年發表的一篇論文，研究人員透過網路問卷的方式統計到了軟體開發者開發自由或開源軟體中不同動機的比例。

論文總結了如下不同的動機類別：

- 開發者出於娛樂目的進行開發。
- 開發者出於對社區的義務而進行開發。
- 開發者認為收益大於成本時，會持續開發。(Lerner and Tirole 2002)
- 即時回報：開發者被僱傭開發自由軟體；使用者的需求得到滿足。(von Hippel 2001)
- 延遲回報：可能的升職機會；開發者作為人力資本的（編程）技能升級。

上述論文統計到的結果是，開發者主要基於內在的滿足感（在開發某個項目時所感受到的創造力）進行開發。

## 對自由軟體的批評

Debian項目與OSI的前領導人布魯斯·佩倫斯認為：儘管自由軟體與開源軟體對社會作出了諸多貢獻，但是現存的自由軟體和開源軟體定義及其許可證並不能真正保護開發者的利益。因此他提出了Post Open這一概念。在他的設想中，Post Open的法律條款將明確開發者與使用其產品的公司之間的財務關係。他也致力於減少新FOSS許可證的產生。

Ruby開源社區的Coraline Ada Ehmke認為現有的自由/開源軟體許可證並不能限制政府、大公司、群體甚至個人作惡。所以，她主持起草了一個新的許可證：Hippocratic許可證。據Wired的報導，這個新的許可證允許任意用途的修改和分發，但有一個重大例外：以這個許可證約束的軟體不能用於對個體或者集體的滅絕，傷害；不能威脅到個體或集體的物理，精神，經濟狀況或者總體福祉。

## 影響

<image>

先以GNU/Linux為例。根據所有使用W3Counter技術的網頁所收集的數據，搭載 Linux 內核的計算設備（包括並主要是Android OS）在2025年二月已經占全球計算設備份額的 46.64%，居作業系統市場份額的第一位。根據 w3techs 收集到的數據，在他們能識別作業系統類型的伺服器中，56.1%的網頁伺服器使用Linux作業系統。

GCC作為最早的自由軟體編譯器套裝之一，許多自由軟體或專有軟體——包括作業系統都是使用這一編譯器套裝進行編譯的，其技術規範甚至成為了開源軟體社區的事實標準。自由軟體目錄曾經由FSF與聯合國教科文組織共同運營。

維基媒體基金會旗下的許多項目都使用了MediaWiki這一自由的Wiki引擎。根據新浪科技2021年的轉載，維基百科作為自由內容的網路在線百科全書之一每日有接近 30 萬名的「維基人」參與編輯。

在瀏覽器組件中，KDE項目的網頁渲染引擎KHTML被Apple Inc.分叉出了WebKit，並作為Safari的渲染核心；而WebKit中的WebCore組件又被分叉成為了Chromium系瀏覽器的排版引擎Blink。

一些有名的程式語言及其實現使用寬鬆自由軟體許可證，如Python和Go等。

## 外部連結

- 《自由軟體，自由社會（第三版）》中文版在線自由閱讀，北京GNU/Linux使用者組翻譯。
- 自由軟體目錄 - 自由軟體基金會
- 中華民國軟體自由協會