根據(jù)自由軟件基金會(huì)的定義,自由軟件是一種可以不受限制地自由使用、復(fù)制、研究、修改和分發(fā)但必須公開源代碼的軟件。可以買賣。這方面的不受限制正是自由軟件最重要的本質(zhì)。要將軟件以自由軟件的形式發(fā)表,通常是讓軟件以“自由軟件授權(quán)協(xié)議”的方式被分配發(fā)布,以及公開的軟件原始碼。自由軟件對(duì)全世界的商業(yè)發(fā)展有巨大的貢獻(xiàn)。自由軟件使成千上萬的人的日常工作更加便利,為了滿足用戶的各種應(yīng)用需要,它以一種不可思議的速度發(fā)展。自由軟件是信息社會(huì)下以開放創(chuàng)新、共同創(chuàng)新為特點(diǎn)的創(chuàng)新2.0模式在軟件開發(fā)與應(yīng)用領(lǐng)域的典型體現(xiàn)。主要分類有Copyleft(左版/版責(zé))許可證和非Copyleft許可證兩種。
使用定義
自由軟件的英文為“free software”。“free”在英文中有“自由”(freedom)、“免費(fèi)”(free of charge)的雙重含義,因此 要如何分辨“自由軟件”(free software)和“免費(fèi)軟件”(freeware)呢?自由軟件運(yùn)動(dòng)的創(chuàng)始人——理查德·斯托曼提供了以下的定義:“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”,中文譯文:自由軟件的重點(diǎn)在于自由權(quán),而非價(jià)格。要了解其所代表的概念:你應(yīng)該將“free”想成是“free speech”(言論自由)中的“free”(自由),而不是“free beer”(免費(fèi)啤酒)中的“free”(免費(fèi))。更精確地說,自由軟件代表電腦使用者擁有選擇和任何人合作之自由、擁有掌控他們所用的軟件之自由。在GNU宣言(GNU Manifesto)中包含了理查德·斯托曼在一開始對(duì)自由軟件使用定義的混淆。
大部分的自由軟件都是在在線(online)發(fā)布,并且不收任何費(fèi)用;或是以離線(off-line)實(shí)體的方式發(fā)行,有時(shí)會(huì)酌收最低限度的費(fèi)用(例如:工本費(fèi)),而人們可用任何價(jià)格來販?zhǔn)圻@些軟件。然而,自由軟件與商業(yè)軟件是可以共同并立存在的︰因?yàn)榻关溬u軟件是違反了自由軟件的定義。
最早的開放源代碼(open source)定義是在1998年創(chuàng)建,來自Debian的自由軟件指引。當(dāng)時(shí)大多數(shù)的開放源代碼軟件同時(shí)也是自由軟件,反之亦然。
基于自由BSD的操作系統(tǒng)都是使用類似自由軟件的授權(quán)協(xié)議,FreeBSD、OpenBSD以及netbsd,不同的是它們對(duì)于“Copyleft”的闡述。這些操作系統(tǒng)的使用者常認(rèn)為“copyleft”是一種對(duì)自由的過度限制,是一種自由的侵害。
“免費(fèi)軟件”(freeware)是一種不需付費(fèi)就可取得的軟件,但是通常有其他的 限制,使用者并沒有使用、復(fù)制、研究、修改和分發(fā)的自由。該軟件的源代碼不一定會(huì)公開,也有可能會(huì)限制重制及發(fā)再行的自由,所以免費(fèi)軟件的重點(diǎn)是不需要花錢,而不是自由的軟件。
自由軟件基金會(huì)(FSF)對(duì)自由軟件的定義首次于1989年發(fā)表。這份定義后來被布魯斯·裴倫斯(Bruce Perens)改寫為《Debian Free Software Guidelines》(DFSG,Debian自由軟件指引)。
授權(quán)
根據(jù)理查德·斯托曼和自由軟件基金會(huì)(FSF)的定義,自由軟件賦予使用者四種自由:
· 基于任何目的,按你的意愿運(yùn)行軟件的自由(自由之零)。
· 學(xué)習(xí)軟件如何工作的自由,按你的意愿修改軟件以符合你的計(jì)算的自由(自由之一)。可訪問源代碼是此項(xiàng)自由的先決條件。
· 分發(fā)軟件副本的自由,因此你可以幫助你的鄰居(自由之二)。
· 將你修改過的軟件版本再分發(fā)給其他人的自由(自由之三)。這樣可以讓整個(gè)社區(qū)有機(jī)會(huì)共享你對(duì)軟件的改動(dòng)。可訪問源代碼是此項(xiàng)自由的先決條件。
自由度3允許用戶自由地發(fā)布軟件的修改版。自由軟件不一定要求修改版必須繼續(xù)采用自由軟件許可證。換句話說,自由軟件許可證可以不必是copyleft許可證。但是,如果一個(gè)軟件許可證要求修改后的軟件必須以非自由軟件的形式發(fā)布,那么該許可證則不被視為自由軟件許可證。
許可證
GPL
GNU通用公共許可證
使用者必須接受軟件的‘License’,才能復(fù)制和修改該軟件,而在自由軟件中,最常見的授權(quán)方式就是全球撲克聯(lián)賽- GNU General Public License 了。
因?yàn)槭褂谜呤侨〉昧俗杂绍浖脑创a,那么如果使用者修改了它的源代碼,基于公平互惠的原則,使用者也必須對(duì)接收者提供其修改的源代碼成果。而這就是 GPL 的精神 - 自由、分享、互惠。
BSD
BSD license(BSD許可證)是"Berkeley Software Distribution license 的首字母縮寫,是自由軟件(開源軟件的一個(gè)子集)中使用使用最廣泛的許可證之一。BSD軟件就是遵照這個(gè)許可證來發(fā)布,該許可證也因此而得名。
BSD套件最初所有者是加州大學(xué)的董事會(huì),這是由于BSD源自伯克利加州大學(xué)。BSD開始后,BSD許可證得以修正,使得以后許多BSD變種,都采用類似風(fēng)格的許可證。
跟其他許可證相比,從GNU通用公共許可證到限制重重的版權(quán)所有,BSD許可證比較寬松,甚至跟公有領(lǐng)域更為接近。事實(shí)上,BSD許可證被認(rèn)為是copy center,介乎copyright(傳統(tǒng)意義上的“版權(quán)”授權(quán)方式)所有與copyleft(GPL的“版責(zé)”,也屬于版權(quán)授權(quán)方式的一種)之間。"Take it down to the copy center and make as many copies as you want"。
版權(quán)
自由軟件可以自由取得,并且它的源代碼可以自由修改并散布但它并不是沒有版權(quán)。
自由軟件里的版權(quán)非常重要。它正是GNU通用公共許可協(xié)議,這一確保自由軟件保持自由,作者的工作得到肯定的核心機(jī)制所在。程序都是受版權(quán)保護(hù)的,不管是自由的還是專有的。
自由軟件是指附帶這樣許可的軟件,它允許任何人使用、復(fù)制和/或再分發(fā),不論是逐字再分發(fā)還是再分發(fā)帶有更改的版本,也不論免費(fèi)還是有償。特別地,這意味著源代碼必須可獲得。“如果它不是源代碼,它就不是程序。”這是一種簡化的描述;您可以在《什么是自由軟件?》找到自由軟件的完整定義。
如果一個(gè)程序是自由的,它可以潛在地被包含在一種自由的操作系統(tǒng)中,例如 GNU,或者 GNU/Linux 操作系統(tǒng)的 100% 使用自由軟件構(gòu)建的版本。
不用封閉格式
專有軟件通常會(huì)使用專屬的封閉格式,但這會(huì)極大地限制了使用者的自由度。而自由軟件則完全不同,由于自由軟件的源代碼是公開的,所以它所使用的任何格式都是透明的。自由軟件永遠(yuǎn)不會(huì)利用專屬的封閉格式來限制使用者分發(fā)或修改的自由。
精神領(lǐng)袖
自由軟件的精神領(lǐng)袖是理查德·斯托曼(Richard Stallman)。他被人稱為‘最后的真正黑客’,他認(rèn)為一個(gè)好的軟件,便該自由自在地讓人取用。軟件不應(yīng)該拿來作為相互傾軋、剝削的工具。所以他起草GNU通用公共許可證來保障自由軟件的自由,并創(chuàng)辦了自由軟件基金會(huì)來貫徹他的理念。
運(yùn)動(dòng)
自由軟件運(yùn)動(dòng)是信息社會(huì)下以開放創(chuàng)新、共同創(chuàng)新為特點(diǎn)的創(chuàng)新2.0模式在軟件開發(fā)與應(yīng)用領(lǐng)域的典型體現(xiàn),是由那些支持自由軟件的人士所發(fā)起的運(yùn)動(dòng)。Richard Stallman是該運(yùn)動(dòng)的主要發(fā)起人以及精神領(lǐng)袖。
自由軟件運(yùn)動(dòng)人士認(rèn)為自由軟件的精神應(yīng)當(dāng)貫徹到所有軟件:他們認(rèn)為禁止計(jì)算機(jī)用戶行使這種自由是不道德的行為。GNU 的目標(biāo)是給予用戶自由,而不僅僅是流行。所以需要使用可以阻止 GNU 軟件被轉(zhuǎn)變成私有軟件的發(fā)行條款。FSF 對(duì) GNU Project 使用的方法叫“左版”。
和開源的區(qū)別
開源軟件運(yùn)動(dòng)的支持者更注重軟件的質(zhì)量和開發(fā)效率,而不是它的自由問題。開源軟件支持者與自由軟件支持者的最大不同在于,開源支持者不反對(duì)專有軟件。支持開源軟件的許多軟件公司將不是左版(版責(zé),Copyleft)的自由/開源 軟件合并到限制性的專有軟件里面。
被廣泛用的軟件
GNU/Linux 操作系統(tǒng)
Linux 內(nèi)核
BSD
GCC 編譯器
GNU Emacs 文本編輯器
GIMP 圖像處理軟件
Gnome 桌面
Python 編程語言
Qt 程序庫
OBS 屏幕錄制軟件
VLC Media Player 媒體播放器
Xed 文本編輯器
LibreOffice 辦公軟件
開源軟件區(qū)別
開源的標(biāo)準(zhǔn)比自由軟件要弱一些。幾乎所有的自由軟件都算是開源軟件,幾乎所有開源軟件也都是自由軟件,但也有例外。首先是一些開源許可證過于嚴(yán)苛,因此并不能認(rèn)定為是自由許可證。幸運(yùn)的是,只有很少一些程序使用這樣的許可證。
其次,實(shí)踐中更重要的一點(diǎn)是,很多產(chǎn)品包含了計(jì)算機(jī)可以檢查可執(zhí)行程序簽名的方法,以便阻止用戶安裝其它版本的可執(zhí)行程序。即使可執(zhí)行文件是從自由的源代碼構(gòu)建出來,用戶卻無法運(yùn)行修改版,所以這個(gè)可執(zhí)行文件也是非自由的。
FOSS和FLOSS
為了在自由軟件和開源之間保持中立,常用“FLOSS”和“FOSS”(可參見《應(yīng)避免或慎用的詞》或文章“FLOSS 和 FOSS”)這種說法。如果你的目標(biāo)是中立性,那么“FLOSS”更好,因?yàn)檫@真的很中立。如果你更想表達(dá)自由,那么用中立的說法并不好。站在自由的一邊,讓人們看到你對(duì)自由的支持。
意義及發(fā)展
意義
自由軟件運(yùn)動(dòng)的發(fā)展使得用戶的計(jì)算機(jī)將擺脫各種限制——你應(yīng)該并且可以在自由軟件世界擁有對(duì)計(jì)算機(jī)處理數(shù)據(jù)的控制權(quán)。自由軟件使得我們不用再為了軟件的bug而焦頭爛額,也不必?fù)?dān)心軟件的可擴(kuò)展性。每個(gè)公司可以為自己的計(jì)算機(jī)和公司情況定制,也不必?fù)?dān)心駭客(Creaker)因?yàn)檎业揭粋€(gè)漏洞就能夠?qū)Υ笃?wù)器實(shí)施破壞——由于你有權(quán)雇傭自己信賴的程序員來幫你升級(jí)和定制你(或者你公司的)內(nèi)部使用軟件版本(自由軟件運(yùn)動(dòng)并不反對(duì)僅供內(nèi)部使用而不對(duì)外發(fā)布軟件的行為)。
安全性
有人認(rèn)為:由于自由軟件的源代碼可得,因此沒多大可能安全。
一個(gè)短而有力的反駁:大部分的服務(wù)器都運(yùn)行自由軟件。它們可是持有敏感或機(jī)密信息比如你的銀行帳戶細(xì)節(jié)或貿(mào)易機(jī)密的聯(lián)了網(wǎng)的計(jì)算機(jī)。
一個(gè)更確切的回答是源代碼可得是安全的保證,而不是隱患。軟件的自由確保了它能被廣泛的社區(qū)察看,測(cè)試和改進(jìn)。一把好鎖就算用于設(shè)計(jì)它的技術(shù)是公開的,也是安全的,因?yàn)橹挥需€匙持有者才能打開它。對(duì)軟件也是同樣的道理。
商業(yè)化
自由軟件的哲學(xué)拒絕一類特定的廣為人知的商業(yè)實(shí)踐,但是它并不反對(duì)商業(yè)。當(dāng)商業(yè)尊重用戶的自由時(shí),我們祝愿它們成功。
參考資料 >
《自由軟件,自由社會(huì)》:什么是自由軟件?.The GNU Operating System.2018-05-09
何謂自由軟件?.Debian 通用操作系統(tǒng).2018-05-10
什么是自由軟件?.GNU 工程.2018-05-10
人們對(duì)自由軟件有哪些誤解?.Get GNU Linux.2018-05-09
《自由軟件,自由社會(huì)》:為什么說開源漏掉了自由軟件的要點(diǎn).Linux.中國.2018-05-09
《自由軟件,自由社會(huì)》:GNU 工程 —— 支持自由軟件.linux.cn.2018-05-09