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