十问十答 GPL 许可证
GPL 是 GNU's General Public License 的縮寫,翻譯成中文叫 GNU 的通用公共許可證,是最受歡迎的開源許可證之一。它由理查德·斯托曼(Richard Stallman)創建,目的是保護 GNU 軟件免于被專有,是基于他「版權向左(copyleft)」理念的一種實現。
01
什么是版權向左?
版權向左(copyleft)規定在未經版權所有者的許可下將限制使用、修改和分享創作品的權利。當作者在版權向左許可證下發布程序時,他對該作品的版權提出主張,并聲明他人只要保持互惠義務,便可獲使用、修改與分享該作品之授權。
這意味著,任何基于 GPL 組件編寫的軟件都必須作為開源發布。其結果是,任何 GPL 開源組件(不論其在整個代碼所占的比例是多少),只要你在你的軟件中使用了,你的軟件就必須發布完整的源碼以及修改和分發整個代碼的權利。
02
GPL 許可證的條款與條件是什么?
如果你在軟件中有使用 GPL 組件,則你的整個軟件都會被視為「基于 GPL 的作品」,因此:
你無權對該軟件主張專利或版權。此外,你有義務顯式地進行版權聲明(copyright notice),完整的 GPL 聲明,以及 GPL 的副本。
不允許你更改許可證或引入其他條款和條件。
你有互惠義務,這意味著你必須釋出源代碼,以及關于修改和再分發整個代碼的所有權利。
03
GPL 是否是強制性的?
GPL 本質上是版權許可(copyright license),因此是強制性的。GPL 軟件的版權持有者可以選擇對軟件的分發或衍生作品強制使用 GPL。
例如,FSF 在許多 GNU 系統上擁有版權,比如 GNU Compiler Collection。作為版權持有者,如果該軟件的版權發生侵權,那么它可以強制執行 GPL 的 copyleft 的要求。
04
是否可以出售 GPL 的軟件或代碼?
是的。GPL 許可證允許用戶出售原始軟件和經修改后的軟件。這也許會造成混淆,但自由軟件(free software)中的所謂「自由」,是指自由(freedom),而不是免費。正如理查德·斯托曼所解釋的,自由軟件的意思是「自由討論」,而不是「免費啤酒」。
但如果有人付費購買了你的程序,則 GPL 允許 TA 自由地發布這個軟件,不管是免費的還是付費的。
05
GPL 是安全的嗎?
是的。GPL 與代碼的安全性無關,它只是用于控制其使用與分發的許可證。實際上,正如我們以前所討論過的,開源軟件有時可能會比專有軟件更安全,因為有更多的人參與到其中檢查與修復問題。
06
GPL 許可證是否要求釋出修改后的源碼?
GPL 只要求你在發布修改后的程序之后,才需要釋出修改后的源碼。如果你把修改后的程序源碼供個人使用,那么就不需要發布它的源代碼。但是,如果把修改后的程序公開發布,那么其對應的源碼也必須公開。
07
GPLv2 與 GPLv3 之間的區別
關于「基于另一作品的作品」的說法一直存在混淆,而這又會觸發 GPL 的互惠義務。FSF 試圖通過 GPLv3 講明何時會觸發互惠義務。FSF 甚至編寫了一份新的 GPL 許可證(AGPL)以解決稱作「ASP 漏洞」的特定混亂。
此外,FSF 試圖提高 GPLv3 與其他許可證的兼容性。要將兩組代碼組合為更大規模的作品,兩個程序就都必須允許這么做。如果兩個程序的許可證授予了此類權利,那么它們將是兼容的。通過將 GPLv3 變得更具兼容性,FSF 擴展了開發選項(development options)。
第三個不同之處在于,編寫 GPLv3 的目的是提高許可證在全球范圍的使用率。用于描述 GPLv3 許可證權利的文字使用了多種語言,以確保國際法能理解 FSF 的意圖,這與 GPLv2 以美國為中心的語言是不同的。GPLv3 還允許開發人員添加本地免責聲明,這有助于增加其在美國境外的使用。
08
是否可以將 GPL 許可證與其他許可證混合使用?
人們通常以為,GPL 許可證所許可的代碼不能與使用了其他開源許可證的代碼混用。盡管確實存在限制,但實際上不論在 GPLv2 還是 GPLv3 下都是可能的。GPLv3 中新寫入的文字更清楚地證明了這一點。FSF 明確聲明 GPLv3 與 Apache 2.0 許可證相互兼容。但與原始 BSD 許可證(the original BSD license)之間存在一些問題,因為它強加了 GPL 中沒有的特定要求(程序廣告的要求)。
09
LGPL 涵蓋了什么?
LGPL 全稱 Lesser General Public License,是較為寬松的許可證(弱版權向左)。LGPL 用于許可自由軟件,使其可以成為自由軟件與專有軟件。
LGPL 與 ?GPL 許可證主要有一個地方不同。對于 LGPL,關于你把源碼放在自己的軟件中進行擴展這方面的要求被移除。你只需要把針對原始自由庫的修改提交為 LGPL 即可。由于自由庫始終受到 LGPL 的約束,所以你軟件的任意用戶都可以修改、重新編譯或替換自由 LGPL 庫,并將其修改后的版本與你軟件一起使用。
你還需要允許(或注意防止)對使用該庫的作品進行逆向工程,以便在 LGPL 庫升級后進行調試。
注意,LGPL 與 GPL 兼容,如果你愿意,你可以把 LGPL 的項目「升級」為 GPL,并將其合并至完整 GPL 許可的項目中。不過,你不能將 GPL 許可重新切換回 LGPL。
10
AGPL 涵蓋了什么?
AGPL 全稱 Affero General Public License,是 GPL 許可證的變體,適用于在服務器上運行的程序。如果開發人員修改了根據 GPL 發布的程序,則 GPL 希望他以相同的許可證發布修改后的程序。但如果該程序僅僅是在服務器上運行的,則開發人員實際上不會把該程序發布到世界的其他地方。
AGPL 考慮到了這一點。根據 AGPL,開發人員必須向使用該服務的所有人發布該程序的修改版本。
&
至此,我們回答了關于 GPL 許可證的十個熱門問題。如果你還有其他問題,我們很樂意回答你。
本文的作者和譯者均不是律師或法律工作者,因此你不應將本文視作任何形式上的法律建議。本文信息按素材原文原樣奉上,未經修改。如需法律咨詢,請聯系你的法律顧問,或有相關從業資質或經驗的律師或其他法律工作者。
原題:Top 10 GPL License Questions Answered
原文:
https://resources.whitesourcesoftware.com/blog-whitesource/top-10-gpl-license-questions-answered
作者:Rami Sass
END
開源許可證相關推薦:
1)一文讀懂常用開源許可證
2)一文讀懂開源許可證異同
3)一文讀懂 Copyleft 開源許可證
4)十問十答 Apache 許可證
5)十問十答 CDDL 許可證
總結
以上是生活随笔為你收集整理的十问十答 GPL 许可证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苏老师首播3小时!超500人观看!录屏!
- 下一篇: 解析“60k”大佬的19道C#面试题(上