開源長期以來一直是很多科技公司關注的焦點,我們經常會發現一些開源技術被標注了某種協議,這意味著這些開源代碼受到了某種約束,或者說這些代碼必須遵守這些規則,否則他們可能會觸犯法律。
總的來說,當今比較流行的開源軟件協議包括:GPL、LGPL、(2.0)和BSD。 一般來說,如果你使用GPL許可的軟件,就意味著你的軟件必須是“免費的”。 相比之下,大多數其他協議只要求用戶尊重原創作品,這更適合商業軟件。 只有分清這些開源軟件協議的含義,才能更好地利用和回饋開源軟件。
您需要了解的有關開源許可證的信息
通用公共許可證 (GNU)
GPL協議一般可分為GPL2.0和GPL3.0兩種,GPL3.0是更新一代的開源標準,在用戶專利保護和DRM限制方面有所改變。 與其他自由軟件許可一樣,GPL 協議允許公眾享有:運行和復制軟件的自由,分發和傳播軟件的自由,獲得軟件源代碼的自由,改進軟件和分發改進版本的自由社會。 GPL協議就像一個開源的“病毒”,任何感染了它的軟件都必須保持開源和免費。
GPL許可證
根據國外論壇的解釋:“GPL是對軟件源代碼的版權,而不是對軟件編譯后的二進制版本的版權。您有權免費獲得軟件的源代碼,但您無權免費獲得軟件的二進制發布版本。GPL 對軟件分發的唯一限制是您的分發必須附有完整的源代碼。”
LGPL
LGPL是GNU(GNU )的縮寫,LGPL是GPL的一個開源協議,主要為類庫使用而設計。 與上述GPL不同,LGPL允許商業軟件通過類庫引用(鏈接)的方式使用LGPL類庫,而不需要開源商業軟件的代碼。 使用LGPL協議的開源代碼可以作為類庫被商業軟件引用、發布和銷售。
我們也可以簡單理解為可以使用LGPL協議下的開源代碼商業軟件,但是不能修改LGPL協議下的代碼。
它是一個著名的非營利開源組織采用的協議。 該協議類似于BSD,同樣鼓勵代碼共享并尊重原作者的版權,也允許代碼修改和重新發布(作為開源或商業軟件)。 他需要滿足的條件包括:
○ 需要給代碼一份的用戶
○如果修改了代碼,需要在修改后的文件中說明。
○ 擴展代碼(修改衍生自源代碼)中,原作者指定包含的許可、商標、專利聲明和其他說明均需包含在原代碼中。
○ 如果重新分發的產品中包含文件,則需要將其包含在文件中。 您可以向其添加您自己的權限,但它不能顯示為組合更改。
BSD 開源協議 ( )
目前BSD開源協議分為兩種:BSD 3-和BSD 2-,分別指的是BSD協議有兩個條款和三個條款。 應該說BSD開源協議是一個給了用戶很大自由度的協議。 基本上,用戶可以自由使用和修改源代碼,也可以將修改后的代碼重新發布為開源或專有軟件。 但是,開源代碼的作者/機構名稱和原始產品名稱不能用于營銷目的。
不難理解,很多公司和企業在選擇開源產品時更喜歡BSD協議,因為他們可以完全控制這些第三方代碼,必要時可以修改或重新開發。
除了上面的集中式開源協議外,還有MIT (源自MIT,和BSD許可協議一樣廣泛)和等,具體可以參考下圖。
開源許可(圖片來自:阮一峰博客)