自由軟體

自由軟體

根據自由軟體基金會的定義,自由軟體是一種可以不受限制地自由使用、複製、研究、修改和分發但必須公開源代碼的軟體。可以買賣。這方面的不受限制正是自由軟體最重要的本質。要將軟體以自由軟體的形式發表,通常是讓軟體以“自由軟體授權協議”的方式被分配發布,以及公開的軟體原始碼。自由軟體對全世界的商業發展有巨大的貢獻。自由軟體使成千上萬的人的日常工作更加便利,為了滿足用戶的各種應用需要,它以一種不可思議的速度發展。自由軟體是信息社會下以開放創新、共同創新為特點的創新2.0模式在軟體開發與應用領域的典型體現。主要分類有Copyleft(左版/版責)許可證和非Copyleft許可證兩種。

使用定義


自由軟體
自由軟體
自由軟體的英文為“free software”。“free”在英文中有“自由”(freedom)、“免費”(free of charge)的雙重含義,因此 要如何分辨“自由軟體”(free software)和“免費軟體”(freeware)呢?自由軟體運動的創始人——理查德·斯托曼提供了以下的定義:“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”,中文譯文:自由軟體的重點在於自由權,而非價格。要了解其所代表的概念:你應該將“free”想成是“free speech”(言論自由)中的“free”(自由),而不是“free beer”(免費啤酒)中的“free”(免費)。更精確地說,自由軟體代表電腦使用者擁有選擇和任何人合作之自由、擁有掌控他們所用的軟體之自由。在GNU宣言(GNU Manifesto)中包含了斯托曼在一開始對自由軟體使用定義的混淆。
大部分的自由軟體都是在在線(online)發布,並且不收任何費用;或是以離線(off-line)實體的方式發行,有時會酌收最低限度的費用(例如:工本費),而人們可用任何價格來販售這些軟體。然而,自由軟體與商業軟體是可以共同並立存在的︰因為禁止販賣軟體是違反了自由軟體的定義。
最早的開放源代碼(open source)定義是在1998年創建,來自Debian的自由軟體指引。當時大多數的開放源代碼軟體同時也是自由軟體,反之亦然。
基於自由BSD的操作系統都是使用類似自由軟體的授權協議,FreeBSD、OpenBSD以及NetBSD,不同的是它們對於“Copyleft”的闡述。這些操作系統的使用者常認為“copyleft”是一種對自由的過度限制,是一種自由的侵害。
自由軟體
自由軟體
“免費軟體”(freeware)是一種不需付費就可取得的軟體,但是通常有其他的 限制,使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的源代碼不一定會公開,也有可能會限制重製及發再行的自由,所以免費軟體的重點是不需要花錢,而不是自由的軟體。
自由軟體基金會(FSF)對自由軟體的定義首次於1989年發表。這份定義後來被布魯斯·裴倫斯(Bruce Perens)改寫為《Debian Free Software Guidelines》(DFSG,Debian自由軟體指引)。
自由和非自由軟體的分類 by chao kuei
自由和非自由軟體的分類 by chao kuei

授權


根據斯托曼和自由軟體基金會(FSF)的定義,自由軟體賦予使用者四種自由:
· 基於任何目的,按你的意願運行軟體的自由(自由之零)。
· 學習軟體如何工作的自由,按你的意願修改軟體以符合你的計算的自由(自由之一)。可訪問源代碼是此項自由的先決條件。
· 分發軟體副本的自由,因此你可以幫助你的鄰居(自由之二)。
· 將你修改過的軟體版本再分發給其他人的自由(自由之三)。這樣可以讓整個社區有機會共享你對軟體的改動。可訪問源代碼是此項自由的先決條件。
自由度3允許用戶自由地發布軟體的修改版。自由軟體不一定要求修改版必須繼續採用自由軟體許可證。換句話說,自由軟體許可證可以不必是copyleft許可證。但是,如果一個軟體許可證要求修改後的軟體必須以非自由軟體的形式發布,那麼該許可證則不被視為自由軟體許可證。

許可證


GPL

GNU通用公共許可證
使用者必須接受軟體的‘License’,才能複製和修改該軟體,而在自由軟體中,最常見的授權方式就是GPL- GNU General Public License 了。
因為使用者是取得了自由軟體的源代碼,那麼如果使用者修改了它的源代碼,基於公平互惠的原則,使用者也必須對接收者提供其修改的源代碼成果。而這就是 GPL 的精神 - 自由、分享、互惠。

BSD

BSD license(BSD許可證)是"Berkeley Software Distribution license 的首字母縮寫,是自由軟體(開源軟體的一個子集)中使用使用最廣泛的許可證之一。BSD軟體就是遵照這個許可證來發布,該許可證也因此而得名。
BSD套件最初所有者是加州大學的董事會,這是由於BSD源自伯克利加州大學。BSD開始后,BSD許可證得以修正,使得以後許多BSD變種,都採用類似風格的許可證。
跟其他許可證相比,從GNU通用公共許可證到限制重重的版權所有,BSD許可證比較寬鬆,甚至跟公有領域更為接近。事實上,BSD許可證被認為是copy center,介乎copyright(傳統意義上的“版權”授權方式)所有與copyleft(GPL的“版責”,也屬於版權授權方式的一種)之間。"Take it down to the copy center and make as many copies as you want"。

版權


自由軟體可以自由取得,並且它的源代碼可以自由修改並散布但它並不是沒有版權。
自由軟體里的版權非常重要。它正是GNU通用公共許可協議,這一確保自由軟體保持自由,作者的工作得到肯定的核心機制所在。程序都是受版權保護的,不管是自由的還是專有的。
自由軟體是指附帶這樣許可的軟體,它允許任何人使用、複製和/或再分發,不論是逐字再分發還是再分髮帶有更改的版本,也不論免費還是有償。特別地,這意味著源代碼必須可獲得。“如果它不是源代碼,它就不是程序。”這是一種簡化的描述;您可以在《什麼是自由軟體?》找到自由軟體的完整定義。
如果一個程序是自由的,它可以潛在地被包含在一種自由的操作系統中,例如 GNU,或者 GNU/Linux 操作系統的 100% 使用自由軟體構建的版本。

不用封閉格式


專有軟體通常會使用專屬的封閉格式,但這會極大地限制了使用者的自由度。而自由軟體則完全不同,由於自由軟體的源代碼是公開的,所以它所使用的任何格式都是透明的。自由軟體永遠不會利用專屬的封閉格式來限制使用者分發或修改的自由。

精神領袖


自由軟體組織創始人Richard Stallman
自由軟體組織創始人Richard Stallman
自由軟體的精神領袖是理查德·馬修·斯托曼(Richard Stallman)。他被人稱為‘最後的真正黑客’,他認為一個好的軟體,便該自由自在地讓人取用。軟體不應該拿來作為相互傾軋、剝削的工具。所以他起草GNU通用公共許可證來保障自由軟體的自由,並創辦了自由軟體基金會來貫徹他的理念。

運動


自由軟體運動是信息社會下以開放創新、共同創新為特點的創新2.0模式在軟體開發與應用領域的典型體現,是由那些支持自由軟體的人士所發起的運動。Richard Stallman是該運動的主要發起人以及精神領袖。
自由軟體運動人士認為自由軟體的精神應當貫徹到所有軟體:他們認為禁止計算機用戶行使這種自由是不道德的行為。GNU 的目標是給予用戶自由,而不僅僅是流行。所以需要使用可以阻止 GNU 軟體被轉變成私有軟體的發行條款。FSF 對 GNU Project 使用的方法叫“左版”。

和開源的區別

開源軟體運動的支持者更注重軟體的質量和開發效率,而不是它的自由問題。開源軟體支持者與自由軟體支持者的最大不同在於,開源支持者不反對專有軟體。支持開源軟體的許多軟體公司將不是左版(版責,Copyleft)的自由/開源 軟體合併到限制性的專有軟體裡面。

被廣泛用的軟體

GNU/Linux 操作系統
Linux 內核
PHP
MySQL
BSD
GCC 編譯器
GNU Emacs 文本編輯器
WordPress
GIMP 圖像處理軟體
Gnome 桌面
Python 編程語言
Qt 程序庫
OBS 屏幕錄製軟體
VLC 媒體播放器
Xed 文本編輯器
LibreOffice 辦公軟體

開源軟體區別


開源的標準比自由軟體要弱一些。幾乎所有的自由軟體都算是開源軟體,幾乎所有開源軟體也都是自由軟體,但也有例外。首先是一些開源許可證過於嚴苛,因此並不能認定為是自由許可證。幸運的是,只有很少一些程序使用這樣的許可證。
其次,實踐中更重要的一點是,很多產品包含了計算機可以檢查可執行程序簽名的方法,以便阻止用戶安裝其它版本的可執行程序。即使可執行文件是從自由的源代碼構建出來,用戶卻無法運行修改版,所以這個可執行文件也是非自由的。
FOSS和FLOSS
為了在自由軟體和開源之間保持中立,常用“FLOSS”和“FOSS”(可參見《應避免或慎用的詞》或文章“FLOSS 和 FOSS”)這種說法。如果你的目標是中立性,那麼“FLOSS”更好,因為這真的很中立。如果你更想表達自由,那麼用中立的說法並不好。站在自由的一邊,讓人們看到你對自由的支持。

意義及發展


意義

自由軟體運動的發展使得用戶的計算機將擺脫各種限制——你應該並且可以在自由軟體世界擁有對計算機處理數據的控制權。自由軟體使得我們不用再為了軟體的bug而焦頭爛額,也不必擔心軟體的可擴展性。每個公司可以為自己的計算機和公司情況定製,也不必擔心駭客(Creaker)因為找到一個漏洞就能夠對大片伺服器實施破壞——由於你有權雇傭自己信賴的程序員來幫你升級和定製你(或者你公司的)內部使用軟體版本(自由軟體運動並不反對僅供內部使用而不對外發布的軟體)。

安全性

有人認為:由於自由軟體的源代碼可得,因此沒多大可能安全。
一個短而有力的反駁:大部分的伺服器都運行自由軟體。它們可是持有敏感或機密信息比如你的銀行帳戶細節或貿易機密的聯了網的計算機。
一個更確切的回答是源代碼可得是安全的保證,而不是隱患。軟體的自由確保了它能被廣泛的社區察看,測試和改進。一把好鎖就算用於設計它的技術是公開的,也是安全的,因為只有鑰匙持有者才能打開它。對軟體也是同樣的道理。

商業化

自由軟體的哲學拒絕一類特定的廣為人知的商業實踐,但是它並不反對商業。當商業尊重用戶的自由時,我們祝願它們成功。