|
簡(jiǎn)介 什么是GPL軟件授權(quán)許可證? GNU通用公共許可證(GPL,The GNU General Public License)的全文非常煩瑣冗長(zhǎng),其主要宗旨是在程序員社區(qū)內(nèi)保證和促進(jìn)可以連續(xù)自由和開(kāi)放地保證軟件源代碼的共享。它的出現(xiàn)混淆了""free""和""freedom""的含義,因?yàn)槠鋵?shí)際上限制了那些不希望開(kāi)放共享那些從GPL授權(quán)的軟件進(jìn)行二次開(kāi)發(fā)的程序員的自由。Rick Holbert建議我們使用解放軟件(liberated software)這個(gè)名詞來(lái)替代自由軟件(free software)這個(gè)名詞。但這仍然使我感到迷惑,因?yàn)镚NU軟件并不是真正的解放軟件,其實(shí)你并不能任意處理GPL軟件的源代碼,但是""解放""這個(gè)詞仍然要比""自由""這個(gè)詞來(lái)的準(zhǔn)確一些。GPL許可證強(qiáng)迫用戶將對(duì)開(kāi)放共享的GPL軟件的修改后的源代碼繼續(xù)公開(kāi)。因此,GPL保證了那些軟件使用者自由的連續(xù)性,而不是那些修改軟件的程序員。如果仔細(xì)分析可以發(fā)現(xiàn),GPL有一些令人混淆的地方,一方面它保證了以后軟件""接受者""的自由,而剝奪了軟件開(kāi)發(fā)者任意處置自己編寫(xiě)的代碼的權(quán)利??偟膩?lái)說(shuō),對(duì)于那些希望將自己的軟件貢獻(xiàn)出來(lái)的人來(lái)GPL是令人滿意的,因?yàn)樵贕PL授權(quán)許可下,軟件在整個(gè)開(kāi)發(fā)中都保證了源碼的開(kāi)放和所有的人都可以使用和添加修改軟件。 但是從商業(yè)角度來(lái)說(shuō),當(dāng)然是希望使用那些可以可以關(guān)閉源碼共享的軟件,因?yàn)槟阃窍M鶕?jù)其開(kāi)發(fā)一個(gè)具有潛在價(jià)值的產(chǎn)品。如果你關(guān)閉了具有價(jià)值的軟件的源碼,并且對(duì)其進(jìn)行改進(jìn)和二次開(kāi)發(fā),使其具有更高的價(jià)值,這樣你才能向那些沒(méi)有能力自行開(kāi)發(fā)的軟件使用者使收費(fèi),那么你就應(yīng)該考慮使用具有BSD授權(quán)許可的軟件作為起點(diǎn)。 考慮另外一種情況下,如果你更著重于服務(wù)而不是軟件產(chǎn)品,那么GPL軟件對(duì)你來(lái)說(shuō)就沒(méi)有什么缺陷了。例如,IBM在其各種服務(wù)器中使用Linux。如果你是在GPL軟件平臺(tái)之上開(kāi)發(fā)一個(gè)商業(yè)軟件,你也不必?fù)?dān)心GPL對(duì)你的影響。另外,任何從頭開(kāi)發(fā)的軟件或者是使用BSD軟件作為基礎(chǔ)來(lái)開(kāi)發(fā)的軟件,你都可以封閉自己的源代碼。仍然有很多方法可以利用GPL軟件而不威脅你的商務(wù)活動(dòng)。一般來(lái)說(shuō)客戶并不真正關(guān)心事情是如何完成的,他們僅僅關(guān)心事情完成的結(jié)果。一個(gè)最好的例子是在最流行的桌面操作系統(tǒng)之上運(yùn)行的各種軟件,使用這些糟糕的軟件的用戶中99%都不知道,也不關(guān)心他們使用的軟件是如何的垃圾和糟糕。只要看看用戶是如何樂(lè)于下載和安裝那些號(hào)稱是最可靠和穩(wěn)定的保證向后兼容的操作系統(tǒng)的補(bǔ)丁就可以理解這一點(diǎn)了。為什么一開(kāi)始這些操作系統(tǒng)不能保證穩(wěn)定和可靠的呢?并且如果最穩(wěn)定和可靠的當(dāng)前版本仍然時(shí)常崩潰并且有巨多的bug,那么以前的版本是不是垃圾呢?我一直在對(duì)人們強(qiáng)調(diào)那些比垃圾更加穩(wěn)定和可靠的東西,實(shí)際上仍然是垃圾,只不過(guò)是稍稍更加穩(wěn)定和可靠一些罷了。這并沒(méi)有太多的意義。在商業(yè)上,重要的不是被賣(mài)的產(chǎn)品的可靠性和穩(wěn)定性,如果你能滿足使用者的最低要求,并且你能以便宜的價(jià)格占有主要市場(chǎng),或者你能實(shí)現(xiàn)壟斷,并且對(duì)用戶進(jìn)行洗腦宣傳,大量進(jìn)行廣告金錢(qián)宣傳,那么你的產(chǎn)品就是最""棒""的。如果你由于商業(yè)的原因害怕GPL許可證,那么你可能并沒(méi)有足夠地深入和仔細(xì)地考慮你的商業(yè)模型。在US最流行的Linux發(fā)布并不是最好的,其缺乏很多應(yīng)該具有的特色,但是它仍然是最流行的,因?yàn)樗呀?jīng)占有了市場(chǎng),并且每次版本升級(jí)其產(chǎn)品都有改進(jìn),這樣使得它們的客戶感的很開(kāi)心,即使用戶并不知道軟件實(shí)際上應(yīng)該有多好。 什么是BSD授權(quán)許可證? BSD授權(quán)許可證(FreeBSD Copyright Information)具有多種授權(quán)許可證??偟膩?lái)說(shuō)你可以對(duì)軟件任意處理,只要你在軟件中注明其是來(lái)自于那個(gè)項(xiàng)目的就可以了。也就是說(shuō)你具有更大的自由度來(lái)處置軟件。如果你對(duì)軟件進(jìn)行了修改,你可以限制其他使用者得到你修改的軟件的自由。 BSD授權(quán)許可證沒(méi)有實(shí)現(xiàn)""通透性""自由,也就是其不保證軟件源代碼開(kāi)放的連續(xù)性。這樣如果你希望采用別人開(kāi)發(fā)的BSD軟件,進(jìn)行一些修改,然后作為產(chǎn)品賣(mài),或者僅僅保密自己的做的一些除了軟件開(kāi)發(fā)以外的工作,那么你就可以從中得利。 當(dāng)一個(gè)非程序員僅僅理解一個(gè)程序的功能,但是不了解程序是如何做的時(shí),即使你沒(méi)有在開(kāi)發(fā)軟件中做任何工作那你就可以通過(guò)高超的市場(chǎng)技巧將軟件賣(mài)給該用戶。比如拿最流行的桌面操作系統(tǒng)作為例子,你就能很好的理解一個(gè)沒(méi)有很好的程序技巧的軟件公司只要具有高超的市場(chǎng)營(yíng)銷(xiāo)策略同樣可以將垃圾賣(mài)給客戶。如果你不具有很強(qiáng)大的編程能力,但是具有很強(qiáng)的市場(chǎng)能力和能將其他開(kāi)發(fā)者的軟件包括到自己的系統(tǒng),而同時(shí)不將自己的修改開(kāi)放出來(lái)將是非常強(qiáng)大的能力。從賺錢(qián)為目的的商務(wù)角度看來(lái),如果你使用了BSD授權(quán)許可證的軟件,那么你就可以任意進(jìn)行。你可以更好地控制你的OS系統(tǒng),并且防止其他人拷貝你的商業(yè)產(chǎn)品。 就我看來(lái),只要是開(kāi)放源碼的東西,就都不是垃圾,因?yàn)橹灰情_(kāi)放的其就可能被修改,發(fā)生變化;而一旦變成封閉源碼的東西,它馬上就成為了垃圾,因?yàn)槲也恢浪侨绾螌?shí)現(xiàn)的。所有BSD授權(quán)聲明的開(kāi)放源碼的軟件都是很棒的東西。 哪種更適合你? 有一個(gè)信念你是必須理解的:授權(quán)許可之間并沒(méi)有好壞之分,除非你從你希望達(dá)到的目的的角度去看待問(wèn)題。一個(gè)授權(quán)許可證是人們行為的基礎(chǔ),就象法規(guī)一樣。從商務(wù)角度來(lái)說(shuō),美國(guó)有一個(gè)非常棒的政府,因?yàn)檫@里是金錢(qián)統(tǒng)治一切;從人性角度看來(lái),其他政府可能更具有理想主義一些。但是如果他們實(shí)現(xiàn)了他們?nèi)嗣裣M_(dá)到的目標(biāo),它們之間是沒(méi)有好壞之分的。如果授權(quán)許可證保證了你希望的目標(biāo),那么它對(duì)你來(lái)說(shuō)就是好的,但是對(duì)于其他人來(lái)說(shuō)可能并不是如此,但是你可能往往不會(huì)關(guān)心別人對(duì)該授權(quán)許可證的看法。因此,只有白癡才會(huì)認(rèn)為一種授權(quán)許可證比另外一種授權(quán)許可更好。一旦我們知道了你創(chuàng)造程序的目標(biāo),那么我們就可以判斷你的軟件更適合使用哪種授權(quán)許可。 無(wú)論什么時(shí)候我和BSD人們交談,他們往往也承認(rèn)GPL是一個(gè)不錯(cuò)的東西。怎么會(huì)這樣呢?正如前面討論的那樣,授權(quán)許可是為人們來(lái)使用的。沒(méi)有人強(qiáng)迫你對(duì)你的軟件使用GPL或者是BSD授權(quán)許可。因此如果你選擇使用GPL作為自己創(chuàng)造的軟件的授權(quán)許可,那么不要在意人們對(duì)源代碼具有完全處理的權(quán)限。既然你選擇了GPL,那么你就不應(yīng)該在意,因?yàn)槟銢](méi)有希望從其他封閉授權(quán)的軟件獲利,因此你就不希望其他人通過(guò)你的軟件獲利。GPL劃定了游戲范圍以保證每個(gè)人能平等地從同一個(gè)軟件獲利的權(quán)利。就象好的市場(chǎng)驅(qū)動(dòng)競(jìng)爭(zhēng)以促進(jìn)商業(yè)發(fā)展一樣,大家都有平等的權(quán)利但只有最優(yōu)秀的人可以獲勝一樣。同樣一旦你選擇了將自己的軟件平等地給所有人共享。如果有人不想象別人那樣共享代碼,他可以選擇投資幾百萬(wàn)來(lái)開(kāi)發(fā)自己的軟件,沒(méi)有人會(huì)阻止他這么做。 可以對(duì)軟件定義若干種授權(quán)許可,例如Perl同時(shí)具有GPL授權(quán)許可和藝術(shù)性授權(quán)許可(Artistic Licenses)。如果你希望你的軟件和其他自由軟件一起配合使用,那么你必須對(duì)其不僅僅定義GPL授權(quán)許可。但是GPL一般往往并不能和其他免費(fèi)軟件授權(quán)許可很好的配合使用。 自由軟件社區(qū)對(duì)于GPL的一種批評(píng)是:它偷竊了自由(freedom)這個(gè)單詞。問(wèn)題是這樣的:一個(gè)獨(dú)裁者有自由成為一個(gè)獨(dú)裁者嗎?答案:是可以的。自由和社區(qū)沒(méi)有任何關(guān)系。自由意味著你可以在任何時(shí)候隨意做你想做的任何事情。人們有自由選擇不自由(have the freedom not to be free)。困擾我的一件事情是:雖然我從政治角度理解為什么他們要這么做,但是FSF和GPL這些人則傾向于重新按照他們希望的目的來(lái)定義自由的含義,但其實(shí)他們只是看到了很狹義的自由的含義,而不是完全的自由。他們感興趣的是在社區(qū)內(nèi)部共享軟件代碼,而不是個(gè)人對(duì)自己的軟件的任意處置的自由,例如將GPL化的一段代碼變成封閉代碼等等。因此GPL本身從自由真正的含義上并沒(méi)有真正地促進(jìn)自由,而是限制了自由,僅僅保證了社區(qū)內(nèi)共享代碼的自由。我不喜歡這些家伙,他們重新定義了自由的含義,而且如果你按照他們的意思定義自由他們往往就懶得答理你。但是我認(rèn)為從政策意義上來(lái)說(shuō),他們是很好的,因?yàn)樗麖?qiáng)迫人們考慮自由,大多數(shù)人沒(méi)有時(shí)間去考慮自由的真正含義。 那么對(duì)于BSD,它也是不壞的選擇。它對(duì)于那些希望編寫(xiě)封閉代碼程序的程序員是很有意義的。我理解為什么BSD授權(quán)許可這么有吸引力和它對(duì)于一些人為什么如此重要。但是也使我對(duì)從政治角度來(lái)看沒(méi)有意義的BSD有了更深入的理解: 如果有人以BSD授權(quán)許可發(fā)布軟件,那么別人就可以利用該軟件創(chuàng)建一個(gè)封閉源碼版本,他不必向任何人公開(kāi)自己做了哪些修改。因此一個(gè)項(xiàng)目組可能花費(fèi)數(shù)年來(lái)開(kāi)發(fā)一個(gè)很棒的軟件,而一個(gè)人或一個(gè)公司則可能""偷竊""該軟件,進(jìn)行一些簡(jiǎn)單的二次開(kāi)發(fā)并形成一個(gè)封閉源碼的產(chǎn)品來(lái)盈利,卻和原始開(kāi)發(fā)者則可能沒(méi)有從中得到任何利益。我就是不能理解為什么這么多人這么辛苦的工作來(lái)努力使其他人成為百萬(wàn)富翁。GPL則組織這種事情的發(fā)生,它保證了軟件開(kāi)放性的連續(xù)和所有使用者具有平等的權(quán)利。 BSD授權(quán)許可危險(xiǎn)性的一個(gè)明顯的例子就是:它如何使一個(gè)病毒擴(kuò)散到整個(gè)世界。只要看看Kerberos的情況就可以了解情況是如何糟糕的。對(duì)于我自己來(lái)說(shuō),當(dāng)一個(gè)邪惡的公司糟蹋了一個(gè)軟件,那么就沒(méi)有任何辦法強(qiáng)迫它們和社會(huì)一起合作來(lái)改善情況,我個(gè)人是抵制所有這些軟件的。我不能承受擔(dān)心相互之間不兼容的版本到處出現(xiàn)。Kerberos就是這樣被糟蹋掉的,我永遠(yuǎn)不會(huì)再使用它。為什么說(shuō)它被糟蹋了呢?被糟蹋的版本到處都是,而且影響很大之間又不相互兼容。我不會(huì)花時(shí)間去使用這樣的軟件:知道有一天它會(huì)變成封閉源碼的,但是而且會(huì)和我在使用的版本不兼容。對(duì)于我來(lái)說(shuō)不兼容性是非常糟糕的和不能接受的,如果我能避免使用這樣的軟件我一定不會(huì)使用它。 既然GPL和BSD各有優(yōu)缺點(diǎn),那么哪個(gè)更適合你呢?其中一個(gè),沒(méi)有一個(gè)或者是都適合你。重要的是要理解授權(quán)許可的含義,如果你不重視結(jié)果,那么很好。雖然我不喜歡BSD授權(quán)聲明適用于我的軟件,但是如果你不介意別人利用你的軟件獲利那么BSD就是你的最好的選擇。 哪種更適合? 哪種更好一些?答案是兩個(gè)一樣好。然而我選擇了GPL,為什么呢?我對(duì)于所有的自由軟件都是非常的感激,我沒(méi)有真正開(kāi)發(fā)任何能被用來(lái)售賣(mài)的軟件(我通常使用Python來(lái)開(kāi)發(fā)web腳本)。我為世界創(chuàng)造的任何東西我都希望在我之后有人能利用它和改進(jìn)它,所以我選擇了GPL。但是我從來(lái)沒(méi)有對(duì)我的軟件使用BSD授權(quán)許可,因?yàn)槲也幌M切┎粍诙@者利用我的軟件來(lái)盈利,而隱藏對(duì)軟件的修改。但是BSD授權(quán)許可對(duì)我來(lái)說(shuō)好的一面是它是未來(lái)的一種選擇,我不是用它但是我很高興它是一種選擇。 結(jié)論 Anonymous Coward有很好的結(jié)論:“我可以認(rèn)真寫(xiě)一個(gè)很長(zhǎng)的短文作為回應(yīng),但是大多數(shù)的讀者可能希望有一個(gè)簡(jiǎn)單的概要:GPL授權(quán)許可有益于軟件的解放,BSD則有益于人的解放。對(duì)于GPL,確保了軟件的發(fā)展擁有比軟件開(kāi)發(fā)者更多的自由;而對(duì)于BSD,保了軟件開(kāi)發(fā)者擁有比軟件的發(fā)展更多的自由。“ 我個(gè)人這樣認(rèn)為: * GPL提倡和促進(jìn)最終用戶的自由 * BSD提倡程序開(kāi)發(fā)者的自由。 總的來(lái)說(shuō),任何認(rèn)為一種授權(quán)許可比另外一種好的人都是思想簡(jiǎn)單的人,他們不能理解他們僅僅從他們自己的角度考慮問(wèn)題,而不是從別人的角度考慮問(wèn)題。我希望強(qiáng)調(diào)的是這些人應(yīng)該被消滅,這樣他們的DNA就不會(huì)傳播,不會(huì)創(chuàng)造那種用另外的標(biāo)準(zhǔn)對(duì)待別人和做出判斷的政客、將軍和法官。 我這里嚴(yán)重的冒犯了那些在關(guān)于軟件授權(quán)問(wèn)題上為別人做決定的人,可能要稍微冒犯了那些讓別人為自己做決定的人。我不介意有關(guān)授權(quán)許可是如何影響世界的理論,但是不要宣稱一種授權(quán)比另外一種好的,因?yàn)檫@是一種基于特定價(jià)值的選擇而已,而不是一種事實(shí)。我接受這樣的事實(shí):你所考慮的對(duì)你來(lái)說(shuō)隨最合適的授權(quán)許可,但是不一定是其他人的最佳選擇。 參考資料 感謝Rick Holbert的建議,使得我得以提高我的文章,使我明白被解放一詞比自由一詞更適合于討論GPL。 Slashdot有很多很好的文章給予我了很多的啟迪。 作者M(jìn)ark Nielsen一個(gè)獨(dú)立咨詢者,給諸如GNUJobs.com等寫(xiě)評(píng)論文章,編寫(xiě)自由軟件和在eastmont.net作為一個(gè)自愿者工作。 |
|
|