一文读懂开源许可证异同
對開源許可證異同的對比并非源自擔憂。對開源許可證進行比較并不容易,什么 copyleft 啦,什么寬松許可證啦,光 GNU 就有 GPL 2 和 GPL 3 之分,OSI 批準的許可證就有八十多個,而開源生態下存在了數百個許可證。
對于我們這些只想發布開源項目的人來講,有些開源許可證非常簡短,而且措辭也非常簡單;而另一些則顯得冗長、復雜,需要法律團隊花費時間去了解。為了消除疑惑,我們列出了一些要素,可以幫助我們進行可行的開源許可證的對比。
基礎比較
寬松與 Copyleft 開源許可證
開源許可證通??梢苑譃閮深?#xff1a;一類是寬松許可證(permissive),又稱「怎么都行(anything goes)」,另一類是 copyleft,又稱「病毒」(譯者注:意味著許可證的條款和條件具有傳染性)。本文基于許可證的限制性進行比較——如你所想那般——在使用開源軟件組件時所附加的要求和限制的數量,即針對許可證的寬松程度進行對比。
當開源組件是根據 copyleft 許可證發布的,那么開發人員有權使用、修改和分享該作品,只要保證義務對等(reciprocity of the obligation)即可。使用此種開源組件意味著你也需要把你的組件開放給別人使用。GPL 許可證族是第一種這一大類的許可證,也是最受歡迎的一個,它飽含了許多版本和變形。
與 copyleft 相對的是寬松許可證。這是一種 non-copyleft 的許可證,可確保使用者自由地使用、修改和再分發,同時還允許持有衍生作品的所有權。寬松開源許可證對組件的使用幾乎不設限制,而且也幾乎不需要回報。本大類中,對那些只想開源自己項目的開發者來講,MIT 許可證最受歡迎,因為它文本最短。
許可限制、條件與權限
盡管寬松許可證和非寬松許可證之間的區別很重要,但各大類內部不同的許可證和許可證族也多有不同。
比如 MIT 和 Apache許可證都屬于「怎么都行」類型,但它們并不完全相同。而 Eclipse 和 GPLv3 之間也是如此,盡管他們都屬于「病毒」類型,但并不意味著它們的條款和條件完全相同。
每種開源許可證都有它們特有的限制、條件和權限,以區別于其他許可證。GitHub 的 chooselicense.com 網站旨在幫助開發人員輕松找到適合自己需求的開源許可證,并提供了一份附錄(https://choosealicense.com/appendix/)供開發人員比較開源許可證,并根據許可證的授權和限制進行差異性對比。
根據這份附錄,開源許可證對項目授予做一些版權或其他知識產權法所不允許做的事的權利。這些許可通常要符合條件,同時大多數開源許可證可能還具有其它一些限制,這些限制不會對擔保和責任做任何承諾,有時還會明確將專利或商標排除在許可之外。
開源許可證中的權限
開源許可證中最常用的授權是針對商業用途(包括使用、分發和修改)和個人用途的。
專利使用是一大區別。在某些條件下,一些開源許可證提供了來自貢獻者的明確專利權,如 GPLv3、Apache License 2.0、Eclipse 公共許可證 1.0 和 2.0,以及其它許可證。其它開源許可證會明確聲明不會授予貢獻者專利的任何權利。拒絕專利權授權的許可證包括 BSD 3-Clause Clear License、Creative Commons Attribution 4.0 International、Creative Commons Attribution Share Alike 4.0 International、Creative Commons Zero v1.0 Universal 和 ODC Open Database License v1.0。
雖然所有開源許可證都授予了商用、發行、修改和個人使用的權利,但這些權利受限于某些條件的約束,具體條件因許可證而異(vary from license to license)。這些條件可能是通過網絡或其他渠道分發時要包含可用的源碼、在開源項目中使用時需要包含許可和版權聲明、在相同許可證下發布修改版代碼,以及記錄對代碼所做的修改等。
開源許可證中的條件
一般來講,與寬松的開源許可證比,copyleft 許可證具有更多的條件(conditions)。這是它們受歡迎程度持續下降的原因之一,因為商業組織使用開源產品已是一種常態。
GPL 族許可證是個著名例子。在通過網絡分發時,我們可以看到一個很好的例子,也被叫做「SaaS 漏洞(SaaS loophole)」。盡管 GPLv2 和 GPLv3 的條件(conditions)并沒有說網絡使用是不是一種分發,但 AGPLv3 被認為是最強大的 copyleft 許可證,對此做了要求,當修改過的版本被用于通過網絡提供服務時,必須提供修改后的版本的完整源代碼。
開源許可證中的限制
比較開源許可證異同的另一個視角是看它的限制。開源許可證的限制設計義務(liability)、對不授予商標權利的明確聲明以及對不提供擔保的明確聲明。
此處的主要區別是關于商標的使用。與 Apache 許可證 2.0 明確包含此類限制相對,大多數 GPL 族許可證并未明確聲明不授予商標權利。值得一提的是,GitHub 在 Choose a License 網站的目錄中指出,沒有此類聲明的許可證可能不會授予任何隱含的商標權利。
對比 Copyleft 許可證
GNU GPL 系列與 Eclipse 開源許可證
Eclipse 開源許可證(EPL)和整個 GNU GPL 族許可證都屬于 copyleft,每種類型在不同程度上都是「非寬松」的。GNU GPL 族許可證具有很強的 copyleft 條款,不管用戶所包含的 GPL 版本代碼量的多少,都要求用戶釋放其軟件的完整源代碼。
非寬松類型許可證的另一面是 Eclipse 許可證,它被認為是弱 copyleft 許可證。EPL 不需要用戶共享整個軟件項目,只需要在以源碼形式分發時開源包含使用 EPL 組件的那部分源碼,并在需要時提供 object 形式的源碼。
兩種許可證之間的另一個區別是 EPL 要求用戶在源碼形式分發時公開那部分源碼,而二進制文件形式分發時不需要;而強 copyleft 的 GPL 族許可證要求不管是源碼還是二進制文件形式的副本或衍生品再分發時使用同一許可證。
對比寬松許可證
Apache 許可證 2.0 與 BSD 開源許可證
BSD 許可證是一個高度寬松的許可證,它允許用戶根據需要修改和再分發簽署有 BSD 許可證的軟件。盡管 Apache 許可證的早期版本與 BSD 許可證相同,但與 Apache 許可證 2.0 存在一些主要區別——現在這兩個許可證有所不同。
第一個區別是關于是否明確授予專利權。Apache 許可證 2.0 明確規定在使用、修改或分發簽署有 Apache 許可證的軟件時授予專利權利的使用,并列出撤銷此類授權的情況。
另一個區別是對所涉概念的明確定義。Apache 許可證 2.0 明確定義了它所用術語和概念,不存在二義性。
第三個顯著差異是 Apache 許可證 2.0 可不經修改直接復用。其他項目可以輕易使用,不需要在許可文檔內修改任何內容。因為怕浪費時間的開發人員比較多,所以它也成為了最受歡迎的許可證之一。
開源許可證對比
全面了解
不管你是否開發過附加開源許可證的軟件項目以便可以共享,還是要確保附加到所使用的軟件組件的開源許可證是否與你的項目和需求相兼容,對你來說,了解每個許可證附帶的不同限制、條件和權限是十分重要的。
盡管這些區別看似微妙,但它們通常定義了開源之間的使用和分發方式,更不用說用戶在使用過程中必須遵循的許多條件。與法律事務一樣,細節決定一切。因此,對我們來說,我們最好去熟悉它們,最次也得知道它們的存在,以便你咨詢組織內相關法律專家。
開源許可證的來龍去脈(ins or outs)是一件棘手的事情,全面了解開源許可證的異同是一個挑戰?,F在有了這些基本的檢驗標準來了解需要對比的內容,可以幫你確定哪個許可證更適合你的項目,或至少再下一次在工作中討論許可證合規性時你能勝人一籌。
免責聲明:本文不是什么法律建議,僅供參考。如果你需要法律咨詢,請聯系具有相關經驗或資質的律師。
原題:Open Source License Comparison Connecting — and Contrasting — the Dots
原文:https://resources.whitesourcesoftware.com/blog-whitesource/open-source-licenses-comparison-guide
作者:Ayala Goldstein
開源許可證相關推薦:
一文讀懂常用開源許可證
你點的每個贊,我都認真當成了喜歡
總結
以上是生活随笔為你收集整理的一文读懂开源许可证异同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【朝夕Net社区技术专刊】Core3.1
- 下一篇: 基于.NET下的人工智能|利用ICSha