GPL & LGPL

GNU通用公共許可證(簡稱爲GPL),是由自由軟件基金會發行的用於計算機軟件的許可證。最初由Richard Stallman爲GNU計劃而撰寫。目前大多數的GNU程序和超過半數的自由軟件使用此許可證。此許可證最新版本爲“版本2”,1991年發佈。GNU寬通用公共許可證(簡稱LGPL)是由GPL衍生出的許可證,被用於一些GNU程序庫。

http://wiki.ccw.com.cn/GPL

GPL和LGPL是GNU的兩種License。越來越多的自由軟件(Free Software)使用GPL作爲其授權聲明,如果對GPL一點都不瞭解,有可能在使用自由軟件時違反了GPL的授權。如果是個人或不正規的公司倒也無所謂,但如果是有規模的公司,恐怕會有被起訴的風險。

在使用Log4cpp時我想到了授權的事情,於是有了興趣對GPL做一下了解。這是必要的,因爲公司也維護了一個驗證過的自由軟件庫,裏面包含的自由軟件除了功能上是可靠的,另外就是一定可以被私有使用的,否則後果很嚴重(黎叔很生氣!)。

Log4cpp最初的版本使用GPL作爲授權聲明的,在0.2.1版本以後改用更爲寬鬆的LGPL。LGPL最初是Library GPL的縮寫,後來改稱作Lesser GPL,即爲更寬鬆的GPL。當一個自由軟件使用GPL聲明時,該軟件的使用者有權重新發布、修改該軟件,並得到該軟件的源代碼;但只要使用者在其程序中使用了該自由軟件,或者是使用修改後的軟件,那麼使用者的程序也必須公佈其源代碼,同時允許別人發佈、修改。也就是說,使用GPL聲明下的的自由軟件開發出來的新軟件也一定是自由軟件。

LGPL是GPL的變種,也是GNU爲了得到更多的甚至是商用軟件開發商的支持而提出的。與GPL的最大不同是,可以私有使用LGPL授權的自由軟件,開發出來的新軟件可以是私有的而不需要是自由軟件。所以任何公司在使用自由軟件之前應該保證在LGPL或其它GPL變種的授權下。

以下是Richard Stallman關於GPL和LGPL的論述

爲什麼你不應該使用LGPL發佈你的下一個庫

GNU計劃在使用庫時有兩個首要的許可證.一個是GNU LGPL(庫GPL);另一個是普通的GNU GPL.選擇不同的許可有很大的不同:選擇LGPL允許在私有程序中使用該庫;選擇普通的GPL則只允許在自由軟件中使用它.

關於哪一種許可證對指定的庫是最好的這一問題實際上是一個策略問題,它取決於實際情況.當前,大多數的GNU庫被採用LGPL,這意味着我們只使用着其中的一個策略,而忽略了另一個. 所以現在我們在尋求更多以普通的GPL許可證形式發佈的庫.

私有軟件開發者有金錢上的優勢;自由軟件開發者需要相互之間利用各自的優勢.對一個庫採用普通的GPL對自由軟件開發者的優勢要大於對私有軟件開發者: 他們可以使用的庫對於私有軟件開發者是不可利用的.

使用普通的GPL並不是對於所有的庫都有好處.在某些情況下更有理由來使用LGPL.最常見的情況就是當一個自由庫的特性可以很容易地被私有軟件以其他可替代庫來實現.在這種情況下,庫不能給與自由軟件任何特別的優勢,因而最好還是爲LGPL發佈該庫.

這也就是爲什麼我們爲GNU C 庫選擇LGPL.總之,有很多的其他C庫;我們使用GPL發佈該庫,將迫使私有軟件開發者不得不使用其它的庫--對他們來說這不成問題,而我們則有了麻煩.

然而,當一個庫所提供的功能是非常獨特的時候,如GNU Readline, 情況就大不一樣了. Readline庫可實現輸入編輯和記錄交互式程序操作,這在別處通常是不可多得. 在GPL下發布它並限制它只能在自由程序中使用, 這我們的社團是一個重要的促進.至少今天某個應用程序之所以是自由軟件,只是因爲它必需要用到Readline.

如果我們收集一些強大的、私有軟件中沒有相類似東西的、採用GPL的庫,它們將提供一系列有用的模塊用於新的自由軟件的構造. 這對於將來的自由軟件開發將是一個顯著的優勢, 一些項目將爲了使用這些庫而考慮使軟件自由化. 大學的項目是易於被影響的;而且今天,隨着某些公司開始考慮使軟件自由化, 甚至一些商業項目也會由此受到影響.

私有軟件開發者試圖否認自由競爭的重要性, 他們會拼命說服作者不要將庫使用GPL來發布. 例如,他們會呼籲利己主義,信誓旦旦地說如果我們讓他們在私有軟件產品中使用代碼,將有“更多的用戶”用到該庫. 流行是一種誘惑,它使一個庫開發者傾向於相信這種觀點:社會首先需要的是促進一種庫的流行;.

但是我們不應該聽從這種誘惑,因爲如果我們聯合起來,我們可以做得更好.我們這些自由軟件開發者應該相互支持. 通過發佈只能爲自由軟件使用的庫,我們可以互相幫助,使彼此的自由軟件包優於其它的私有替代品. 整個自由軟件運動將會有更多的機會,因爲自由軟件作爲一個整體將會在競爭中表現更佳.

因爲"LGPL(Library GPL)"的稱呼傳達了關於這一問題的錯誤觀點,我們計劃將稱呼改爲"次級GPL(Lesser GPL)".事實上要更換名稱要花一定的時間,但你不必再等--你可以現在就發佈應用GPL許可證的庫. 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章