User Tools

Site Tools


自由軟體的定義

<pre style=“white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;”>

翻譯自 http://www.gnu.org/philosophy/free-sw.html

Free software 跟自由有關,跟價格無關。要這解這個觀念,你就想成是這個 free 是『言論自由』那個 free 而不是『免費啤酒』那個 free。

自由軟體跟使用者執行、複製、散布、學習、改變與改進軟體的自由有關。精確地說,它提到使用軟體的四種自由: * 以任何用途,執行軟體的自由(freedom 0) * 學習程式如何運作,並使它能符合你的需要的自由(freedom 1)。可以存取原始碼是先決條件。 * 散布該程式複本的自由,如此你能藉此幫助你的鄰舍(freedom 2)。 * 改進該程式的自由,並公開釋出你所做的改進,使整個社群受益(freedom 3)。可以存取原始碼是先決條件。

如果使用者擁有以上全部自由,該程式才是自由軟體。因此,你可以自由地散布程式的複本給任何地方的任何人,不論有修改或沒有修改,不論免費或收取散布的費用。擁有做這些事的自由意味著(比其他的意義更重要)你不需要去求取或付費取得做這些事的許可。

你應該也有只為了自己的工作或樂趣非公開修改並使用程式的自由,甚至不必提到你的作品是否存在。如果你真的發表了你的更新,你也不必特地告知任何人,或以特別的方式告知大家。

擁有執行程式的自由意味著任何人或任何組織可以將程式用在任何電腦系統,為著任意目的或工作,不必為此跟程式作者或任何特定實體連絡。這項自由,跟使用者的目的有關,跟開發者的目的無關;做為一個使用者,你有自己為了你的目的執行程式,而且如果你將程式散布給別人,他(她)也有為著他(她)自己的目的執行程式的自由,你沒有權力將你的目的加諸在他(她)身上。

重新散布軟體的自由必須包含該程式的二進位或可執行形式,與原始碼,不論是修改過或未修改的版本。(為了能方便安裝自由作業系統,以可執行形式散布是必要的)。如果沒有辦法產生二進位或可執行形式的檔案也沒關係(也許是因為某些程式語言不支援轉為二進位形式的功能),但是你必須要散布某種形式,以那種形式使用的人可以找到或開發出轉為二進位形式的方法。

為了達成可修改的自由,與發表改進版本的自由,你必須可以存取到該程式的原始碼。因此,源碼的可存取性是自由軟體的先決條件。

修改程式的一個重要方法就是將一個自由的副函式或模組加入該程式。如果程式的版權宣告說,你不能把別的模組加入該程式,例如說它要求你必須是任何你加入的程式的版權所有人,則這個版權宣告就太侷限性而無法說是自由的。

為了讓這些自由可以實現,一旦你做對事情,它們就是不可撤消的;如果程式作者擁有撤消原有版權宣告的權力,而並不因為你做了什麼事,這個軟體就不是自由的。

然而,訂定某些有關散布自由軟體行為的規則是可接受的,只要不跟自由的本質相衝突。例如,copyleft(定義非常簡單)的規則是,當再次散布程式時,你不能加上限制使其他人不能享有該軟體的自由。這個規則跟自由本質不衝突,甚至它更加了保護自由。

你也許必須付費來得到自由軟體的拷貝,也或許你可以得到免費的拷貝。但是不論你怎樣得到你的拷貝,你永遠擁有複製與修改該軟體的自由,甚至是販賣它的拷貝。

自由軟體不意味著就是非商業化。一個自由軟體必須可供商業使用、商業開發與商業散布。商業開發自由軟體不再是不尋常,這樣的自由商業軟體非常重要。

有關定義的的規則,

只要不是實質上阻攔你散布修改版本的自由,或阻攔你私底下創造與使用修改版本的自由,訂定如何封裝修改版本的規則是可接受的。訂定“如果你藉這樣的版權宣告創造了你的版本,則你也要讓它套用相同的版權宣當”的規則也是可接受的。(注意這樣的規則仍然允許你決定是否公開你的版本)。訂定“必須釋出你用在公開用途的版本的原始碼給使用者”的規則也是可接受的。版權宣告要求“如果你散布修改版本,而先前的開發者索求一份你的版本的拷貝,你必須給他,或是指出修改的部分”也是可接受的。

</pre>

自由軟體的定義.txt · Last modified: 2008/01/03 13:54 (external edit)