自由軟體定義
自由軟體定義由理查·史托曼撰寫、自由軟體基金會(FSF)出版,定義自由軟體為確保終端使用者擁有使用、學習、分享及改善之自由的軟體。英文的「自由」採用「Free」一詞,應認知為「言論自由」的自由,而非「免費」[1]。該定義最早於1986年2月由目前已停止的GNU快報出版[2],後續文件可於GNU計畫網站上的「哲學」一節尋得。截至2008年4月 為止,共計以39種語言發行[3]。自由軟體基金會另外發佈了符合該定義的授權條款清單列表。
定義及四大自由
1986年2月,自由軟體基金會出版的定義包含以下兩點:[4]
我們名字裡的「free」無關價格,而是關乎自由。首先,是複製及再散佈給鄰居的自由,讓他跟你一樣能享用軟體;第二,是修改軟體的自由,讓你可以控制軟體、而非受其控制。為了做到第二點,你必須能拿到軟體的原始碼。
當gnu.org網站在1996年啟用時,其將「自由軟體」定義為「三個層次的自由」,在上述兩點之外明確指出有學習軟體原理的自由(此點原先隱含在「修改軟體的自由」中)[5][6],史托曼日後不再使用「層次」這個詞彙,表示我們應全數擁有這些自由,用層次來思考反而容易誤解。
最後,此定義再度添加一項,以明確表達使用者應具使用軟體的自由。原先的三項自由已經以數字1至3排列,但使用的自由又更為優先,因此稱其為「自由之零」。[7][8]
現在對於自由軟體的定義,則視程式的收受者是否擁有下列四項自由:[9]
- 依照你的想法執行該程式的自由,無論任何目的(自由之零)
- 研究該程式如何運作的自由,並依照你的想法修改它以符合你的運算所需(自由之壹)。能存取程式的源始碼 (source code) 是這項自由的先決條件。
- 再次散布程式副本的自由,如此你就能幫助他人(自由之貳)。
- 將你修改過後的版本散布給他人的自由(自由之參)。如此你就有機會讓你的改善惠及社群整體。能存取源始碼是這項自由的先決條件。
——自由軟體基金會
自由之壹及自由之參需要能夠取用程式的原始碼,沒有原始碼的情況下要想學習或修改軟體是非常不切實際的。
其他相關定義
1997年7月,布魯斯·佩倫斯發表Debian自由軟體方針[10]。開放源碼促進會(OSI) 另有一依據此方針修改的《開放源碼定義》。
與開放源碼定義的比較
雖然自由軟體運動和開放源碼軟體運動在理念上有所差異,但自由軟體基金會對自由軟體的官方定義,與開放源碼促進會對開放源碼軟體的定義基本上指涉相同的軟體授權條款,僅有少數差異。自由軟體基金會指出哲學上的不同之處:
「開源」軟體是有些人用來描述差不多和自由軟體相同類別的軟體而提出的用語。它所講的這類軟體和自由軟體並非完全相同:他們接受一些我們認為限制過度的授權條款。然而,這類軟體所涵蓋的範圍和自由軟體差異很小:幾乎所有自由軟體都是開源軟體,而且幾乎所有開源軟體都是自由軟體。
——自由軟體基金會[11]
參考資料
- . Gnu.org. 2013-06-18 [2013-10-03]. (原始内容存档于1998-01-26).
- Stallman, Richard M. . Gnu.org. February 1986 [2019-02-08]. (原始内容存档于2015-06-23).
- . Free Software Foundation Inc. [2013-10-03]. (原始内容存档于1998-01-26).
- Stallman, Richard M. . Gnu.org. February 1986 [2019-02-08]. (原始内容存档于2015-06-23).
- . Ru.j-npcs.org. 1997-03-20 [2013-10-03].
- . Web.archive.org. [2013-10-03]. (原始内容存档于January 26, 1998).
- Free Software Foundation. . 2018-07-21 [2019-09-07]. (原始内容存档于1998-01-26).
The reason they are numbered 0, 1, 2 and 3 is historical. Around 1990 there were three freedoms, numbered 1, 2 and 3. Then we realized that the freedom to run the program needed to be mentioned explicitly. It was clearly more basic than the other three, so it properly should precede them. Rather than renumber the others, we made it freedom 0.
- . [2019-09-07]. (原始内容存档于2021-05-05).
I [Matt Mullenweg] originally thought Stallman started counting with zero instead of one because he's a geek. He is, but that wasn't the reason. Freedoms one, two, and three came first, but later he wanted to add something to supersede all of them. So: freedom zero. The geekness is a happy accident.
- Stallman, Richard. . Free Software Foundation. [2019-09-07]. (原始内容存档于2021-04-28).
- Bruce Perens. . debian-announce mailing list. [2019-09-07]. (原始内容存档于2007-10-27).
- https://www.gnu.org/philosophy/categories.zh-tw.html