| GPL和LGPL是GNU的兩種License。越來(lái)越多的自由軟件(Free Software)使用GPL作為其授權聲明,如果對GPL一點(diǎn)都不了解,有可能在使用自由軟件時(shí)違反了GPL的授權。如果是個(gè)人或不正規的公司倒也無(wú)所謂,但如果是有規模的公司,恐怕會(huì )有被起訴的風(fēng)險。 在使用Log4cpp時(shí)我想到了授權的事情,于是有了興趣對GPL做一下了解。這是必要的,因為公司也維護了一個(gè)驗證過(guò)的自由軟件庫,里面包含的自由軟件除了功能上是可靠的,另外就是一定可以被私有使用的,否則后果很?chē)乐?黎叔很生氣!)。 Log4cpp最初的版本使用GPL作為授權聲明的,在0.2.1版本以后改用更為寬松的LGPL。LGPL最初是Library GPL的縮寫(xiě),后來(lái)改稱(chēng)作Lesser GPL,即為更寬松的GPL。當一個(gè)自由軟件使用GPL聲明時(shí),該軟件的使用者有權重新發(fā)布、修改該軟件,并得到該軟件的源代碼;但只要使用者在其程序中使用了該自由軟件,或者是使用修改后的軟件,那么使用者的程序也必須公布其源代碼,同時(shí)允許別人發(fā)布、修改。也就是說(shuō),使用GPL聲明下的的自由軟件開(kāi)發(fā)出來(lái)的新軟件也一定是自由軟件。 LGPL是GPL的變種,也是GNU為了得到更多的甚至是商用軟件開(kāi)發(fā)商的支持而提出的。與GPL的最大不同是,可以私有使用LGPL授權的自由軟件,開(kāi)發(fā)出來(lái)的新軟件可以是私有的而不需要是自由軟件。所以任何公司在使用自由軟件之前應該保證在LGPL或其它GPL變種的授權下。 以下是Richard Stallman關(guān)于GPL和LGPL的論述 為什么你不應該使用LGPL發(fā)布你的下一個(gè)庫 GNU計劃在使用庫時(shí)有兩個(gè)首要的許可證.一個(gè)是GNU LGPL(庫GPL);另一個(gè)是普通的GNU GPL.選擇不同的許可有很大的不同:選擇LGPL允許在私有程序中使用該庫;選擇普通的GPL則只允許在自由軟件中使用它. 關(guān)于哪一種許可證對指定的庫是最好的這一問(wèn)題實(shí)際上是一個(gè)策略問(wèn)題,它取決于實(shí)際情況.當前,大多數的GNU庫被采用LGPL,這意味著(zhù)我們只使用著(zhù)其中的一個(gè)策略,而忽略了另一個(gè). 所以現在我們在尋求更多以普通的GPL許可證形式發(fā)布的庫. 私有軟件開(kāi)發(fā)者有金錢(qián)上的優(yōu)勢;自由軟件開(kāi)發(fā)者需要相互之間利用各自的優(yōu)勢.對一個(gè)庫采用普通的GPL對自由軟件開(kāi)發(fā)者的優(yōu)勢要大于對私有軟件開(kāi)發(fā)者: 他們可以使用的庫對于私有軟件開(kāi)發(fā)者是不可利用的. 使用普通的GPL并不是對于所有的庫都有好處.在某些情況下更有理由來(lái)使用LGPL.最常見(jiàn)的情況就是當一個(gè)自由庫的特性可以很容易地被私有軟件以其他可替代庫來(lái)實(shí)現.在這種情況下,庫不能給與自由軟件任何特別的優(yōu)勢,因而最好還是為L(cháng)GPL發(fā)布該庫. 這也就是為什么我們?yōu)镚NU C 庫選擇LGPL.總之,有很多的其他C庫;我們使用GPL發(fā)布該庫,將迫使私有軟件開(kāi)發(fā)者不得不使用其它的庫--對他們來(lái)說(shuō)這不成問(wèn)題,而我們則有了麻煩. 然而,當一個(gè)庫所提供的功能是非常獨特的時(shí)候,如GNU Readline, 情況就大不一樣了. Readline庫可實(shí)現輸入編輯和記錄交互式程序操作,這在別處通常是不可多得. 在GPL下發(fā)布它并限制它只能在自由程序中使用, 這我們的社團是一個(gè)重要的促進(jìn).至少今天某個(gè)應用程序之所以是自由軟件,只是因為它必需要用到Readline. 如果我們收集一些強大的、私有軟件中沒(méi)有相類(lèi)似東西的、采用GPL的庫,它們將提供一系列有用的模塊用于新的自由軟件的構造. 這對于將來(lái)的自由軟件開(kāi)發(fā)將是一個(gè)顯著(zhù)的優(yōu)勢, 一些項目將為了使用這些庫而考慮使軟件自由化. 大學(xué)的項目是易于被影響的;而且今天,隨著(zhù)某些公司開(kāi)始考慮使軟件自由化, 甚至一些商業(yè)項目也會(huì )由此受到影響. 私有軟件開(kāi)發(fā)者試圖否認自由競爭的重要性, 他們會(huì )拼命說(shuō)服作者不要將庫使用GPL來(lái)發(fā)布. 例如,他們會(huì )呼吁利己主義,信誓旦旦地說(shuō)如果我們讓他們在私有軟件產(chǎn)品中使用代碼,將有“更多的用戶(hù)”用到該庫. 流行是一種誘惑,它使一個(gè)庫開(kāi)發(fā)者傾向于相信這種觀(guān)點(diǎn):社會(huì )首先需要的是促進(jìn)一種庫的流行;. 但是我們不應該聽(tīng)從這種誘惑,因為如果我們聯(lián)合起來(lái),我們可以做得更好.我們這些自由軟件開(kāi)發(fā)者應該相互支持. 通過(guò)發(fā)布只能為自由軟件使用的庫,我們可以互相幫助,使彼此的自由軟件包優(yōu)于其它的私有替代品. 整個(gè)自由軟件運動(dòng)將會(huì )有更多的機會(huì ),因為自由軟件作為一個(gè)整體將會(huì )在競爭中表現更佳. 因為"LGPL(Library GPL)"的稱(chēng)呼傳達了關(guān)于這一問(wèn)題的錯誤觀(guān)點(diǎn),我們計劃將稱(chēng)呼改為"次級GPL(Lesser GPL)".事實(shí)上要更換名稱(chēng)要花一定的時(shí)間,但你不必再等--你可以現在就發(fā)布應用GPL許可證的庫. |
聯(lián)系客服