English [en]   ??????? [ar]   български [bg]   català [ca]   Deutsch [de]   ελληνικ? [el]   espa?ol [es]   ????? [fa]   fran?ais [fr]   hrvatski [hr]   magyar [hu]   Bahasa Indonesia [id]   italiano [it]   日本語 [ja]   ??? [ko]   lietuvi? [lt]   ?????? [ml]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   roman? [ro]   русский [ru]   Türk?e [tr]   укра?нська [uk]   簡體中文 [zh-cn]  

這是針對英文原版頁面的中文翻譯。

Copyleft:實用的理想主義

刀塔自走棋手游什么时候出 www.zvajc.icu Richard Stallman

一個人所做的每個決定都源自這個人的價值觀和目標。人們有很多不同的價值觀和目標;名譽、利益、愛情、生存、快樂和自由,這些只是常人會有的部分目標。當目標是原則性問題的時候,我們稱之為理想主義。

一個理想主義的目標激勵著我從事自由軟件的工作:弘揚自由和合作。我要鼓勵自由軟件的轉播,讓它替代禁止合作的專屬軟件,從而使我們的社會變得更好。

這就是為什么GNU通用公共許可證按照—copyleft那樣寫的基本原因。所有為遵循GPL的程序而添加的代碼都必須是自由軟件,即使這些代碼是單獨的文件。我把我的代碼給自由軟件使用,而不給專屬軟件使用。我認為專屬軟件開發者使用版權來禁止我們分享,那么我們就使用版權來給予互相合作的程序員自己的優勢:他們可以使用我們的代碼。

并非所有使用GNU GPL的人都有這個目標。多年以前,我的一個朋友被要求按照非copyleft的條款發布遵循copyleft條款的程序,他大概這樣回復:

“我有時為自由軟件工作,有時為專屬軟件工作—但是我為專屬軟件工作的時候,我是要得到收入。”

他愿意在軟件分享社區分享自己的工作,但是他沒有找到理由把軟件交給商業公司去生產對社區來說是禁區的產品。他的目標和我不同,然而他認為GNU GPL對他的目標也是有用的。

如果你想完成事業,理想主義是不夠的—你要選擇實現目標的適當方法?;瘓浠八?,你需要“實用。”GPL實用嗎?讓我們看看結果吧。

想一想GNU C++。為什么我們要有一個自由的C++編譯器?就只是因為GNU GPL說它必須是自由的。GNU C++是由一個行業聯盟MCC開發的,它始于GNU C編譯器。MCC通?;峋×渴蠱涑曬晌ㄊ舨?。但是他們把C++前端作為自由軟件發布,因為GNU GPL說只有這樣他們才能發布該編譯器。C++前端包括很多新文件,但是它們都是要由GCC連接的,GPL涵蓋了這些文件。這對社區的好處是顯而易見的。

想一想GNU Objective C。NeXT最初想使該前端成為專屬軟件;他們建議按照.o文件發布,并讓我們把它們和GCC的其他部分連接,想以此繞過GPL的要求。但是我們的律師說這樣做也不能躲開GPL的要求,因為不能這樣做。因而他們讓Objective C前端成為自由軟件。

這些都發生在數年以前,但是GNU GPL仍然在持續不斷地帶來更多的自由軟件。

許多GNU庫是按照GNU寬通用公共許可證發布的,但不是所有的庫都這樣。一個按照普通GNU GPL發布的GNU庫是Readline,它實現了命令行編輯。我曾經發現一個非自由軟件設計為要使用Readline,我就告訴其開發者不能那樣做。他可以不做命令行編輯功能,但是他實際上把軟件按照GPL發布了。現在該軟件是自由軟件。

為GCC(或Emacs、或Bash、或Linux、或任何按照GPL發布的程序)做出改進的程序員通常由公司或大學聘用。當該程序員想把其改進回饋到社區,并出現在下一個發布中時,其雇主可能會說,“等一下—你的代碼屬于我!我們不想分享這些代碼;我們決定讓你的改進成為專屬軟件。”

GNU GPL在此伸出援手。該程序員可以告訴其雇主這個專屬軟件會是侵權軟件,而雇主會意識到他只有兩個選擇:讓新代碼成為自由軟件,或者不要發布。雇主幾乎總是讓程序員按照自己的意愿進行,代碼會出現在下一個自由發布中。

GNU GPL不是好好先生。它會向人們想做的某些事說不。有用戶會說這是糟糕的事—如果GPL “排除”某些專屬軟件的開發者“,而他們需要被帶到自由軟件社區來。”

但是我們并沒有排除他們;是他們選擇不加入。他們決定編寫專屬軟件就是決定呆在社區外面。加入社區就意味著加入合作;我們不能“帶他們進來”如果他們不想加入的話。

我們能夠做的就是為他們的加入提供一個誘因。GNU GPL的設計就是針對我們已有軟件的誘因:“如果你讓你的軟件自由,你就可以使用我們的代碼。”當然,這并不能贏得所有的人,但是這有時能夠贏得一些人。

專屬軟件的開發不為我們的社區做貢獻,但是其開發者經常想伸手向我們要東西。自由軟件用戶會給予自由軟件開發者贊賞—賞識和感謝—但是當有生意人告訴你,“只要讓我們把你的軟件包放到我們的專屬軟件里,你的程序就會被成千上萬的人使用!”這可能非常有誘惑。誘惑雖然強大,但是如果我們抵抗得住,長期來看我們能變得更好。

當誘惑和壓力不是直接而來,而是通過接納了迎合專屬軟件政策的自由軟件組織而來的時候,它們就更難被認出。X聯盟(及其接替者,開放組織)就是一個例子:由制造專屬軟件的公司資助,他們十年來一直努力說服程序員不要使用copyleft。當開放組織試圖使X11R6.4變成非自由軟件時,我們抵抗住了,我們很高興我們抵抗住了。

在1998年9月,在X11R6.4按照非自由條款發布幾個月之后,開放組織推翻了其決定并重新按照和發布X11R6.3一樣的非copyleft自由軟件許可證發布了該版本。謝謝你,開放組織—但是這次后來的推翻并不能推翻我們的結論,就是添加限制是可能的這一事實。

務實地說,考慮長遠的更大目標會增強我們抵抗壓力的力量。如果你把思想集中在自由和社區上,而社區是你靠堅定團結構建的,那么你就會找到抵抗壓力的力量。“堅持,否則你會一事無成。”

如果嘲笑者挖苦自由、諷刺社區…如果“頑固的現實主義者”說利益是唯一的理想…只需忽略他們,并一如既往地使用copyleft。


本文發表于自由軟件,自由社會:Richard M. Stallman選集一書。

最頂

[FSF 標志]“自由軟件基金會(FSF)是一個非盈利組織。我們的使命是在全球范圍內促進計算機用戶的自由。我們捍衛所有軟件用戶的權利。”

加入 購物