自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

了解開源協(xié)議:GPL, LGPL, BSD, MIT, Apache 和 MPL

開源
github中有很多的開源項目,如果是學習使用,并沒有什么影響,但是如果是想商用,則一定需要了解不同開源協(xié)議的區(qū)別,以免踩坑,本文介紹五種開源協(xié)議GPL,LGPL,BSD,MIT,Apache,以及如何選擇這幾種協(xié)議。

摘要

github中有很多的開源項目,如果是學習使用,并沒有什么影響,但是如果是想商用,則一定需要了解不同開源協(xié)議的區(qū)別,以免踩坑,本文介紹五種開源協(xié)議GPL,LGPL,BSD,MIT,Apache,以及如何選擇這幾種協(xié)議。

BSD開源協(xié)議

BSD開源協(xié)議賦予使用者極大的自由?;旧?,使用者可以隨心所欲地使用、修改源代碼,并將修改后的代碼作為開源或?qū)S熊浖侔l(fā)布。

然而,要享受這種自由,當您發(fā)布使用了BSD協(xié)議的代碼或者以BSD協(xié)議代碼為基礎(chǔ)進行二次開發(fā)時,需要滿足以下三個條件:

  1. 如果再發(fā)布的產(chǎn)品包含源代碼,必須在源代碼中包含原始代碼中的BSD協(xié)議。
  2. 如果再發(fā)布的只是二進制類庫或軟件,需要在類庫或軟件的文檔和版權(quán)聲明中包含原始代碼中的BSD協(xié)議。
  3. 不得使用開源代碼的作者或機構(gòu)的名稱和原產(chǎn)品的名稱進行市場推廣。

BSD協(xié)議鼓勵代碼共享,但同時尊重代碼作者的著作權(quán)。由于BSD允許使用者修改和重新發(fā)布代碼,也允許在BSD代碼的基礎(chǔ)上開發(fā)商業(yè)軟件并進行發(fā)布和銷售,因此對于商業(yè)集成而言非常友好。因此,許多公司在選擇開源產(chǎn)品時首選BSD協(xié)議,因為他們可以在必要時完全控制這些第三方的代碼,進行修改或二次開發(fā)。

Apache License 2.0

Apache License是著名的非盈利開源組織Apache采用的協(xié)議。該協(xié)議與BSD相似,同樣鼓勵代碼共享和尊重原作者的著作權(quán),也允許修改代碼并將其作為開源或商業(yè)軟件再發(fā)布。需要滿足的條件也類似于BSD:

  1. 需要向代碼的用戶提供Apache License。
  2. 如果您修改了代碼,需要在修改后的文件中進行說明。
  3. 在擴展的代碼中(修改和從源代碼派生的代碼)需要包含原始代碼中的協(xié)議、商標、專利聲明和其他原始作者規(guī)定的內(nèi)容。
  4. 如果再發(fā)布的產(chǎn)品包含Notice文件,則Notice文件中需要包含Apache License。您可以在Notice文件中添加自己的許可,但不能做出對Apache License的實質(zhì)性更改。

Apache License也對商業(yè)應(yīng)用非常友好。使用者可以在需要時修改代碼,以滿足其需求,并將其作為開源或商業(yè)產(chǎn)品發(fā)布或銷售。

GPL

我們都熟悉Linux采用了GPL協(xié)議。GPL協(xié)議與BSD、Apache License等鼓勵代碼重用的許可有很大不同。GPL的核心思想是代碼的開源和免費使用,以及對引用、修改和派生代碼的開源和免費使用,但不允許將修改后和派生的代碼作為閉源的商業(yè)軟件發(fā)布和銷售。這就是為什么我們可以使用各種免費的Linux系統(tǒng),包括商業(yè)公司的Linux以及Linux上眾多由個人、組織和商業(yè)軟件公司開發(fā)的免費軟件。

GPL協(xié)議的主要內(nèi)容是,只要在一個軟件中使用GPL協(xié)議的產(chǎn)品("使用"包括類庫引用、修改后的代碼或派生代碼),則該軟件產(chǎn)品必須同樣采用GPL協(xié)議,即必須開源和免費。這就是所謂的"傳染性"。使用GPL協(xié)議的產(chǎn)品作為獨立產(chǎn)品使用沒有問題,而且可以享受免費的優(yōu)勢。

由于GPL嚴格要求使用了GPL類庫的軟件產(chǎn)品必須采用GPL協(xié)議,因此對于使用GPL協(xié)議的開源代碼、商業(yè)軟件或者對代碼有保密要求的部門來說,不適合將其作為類庫或基礎(chǔ)進行二次開發(fā)。

LGPL

LGPL是為主要用于類庫的開源協(xié)議。與GPL要求使用/修改/派生的GPL類庫的軟件必須采用GPL協(xié)議不同,LGPL允許商業(yè)軟件通過類庫引用(link)方式使用LGPL類庫,而不需要將商業(yè)軟件的代碼開源。

然而,如果修改LGPL協(xié)議的代碼或進行派生,那么所有修改的代碼、涉及修改部分的額外代碼和派生的代碼都必須采用LGPL協(xié)議。因此,LGPL協(xié)議的開源代碼非常適合作為第三方類庫被商業(yè)軟件引用并進行發(fā)布和銷售。

但對于希望以LGPL協(xié)議的代碼為基礎(chǔ),通過修改和派生的方式進行二次開發(fā)的商業(yè)軟件,LGPL協(xié)議則不適用。

GPL和LGPL都保護原作者的知識產(chǎn)權(quán),避免他人使用開源代碼復(fù)制并開發(fā)類似的產(chǎn)品。

MIT

MIT許可協(xié)議與BSD類似,非常寬松。作者只希望保留版權(quán),而沒有其他限制。也就是說,無論是以二進制形式還是以源代碼形式發(fā)布,您都必須在發(fā)行版中包含原許可協(xié)議的聲明。

MPL

MPL是The Mozilla Public License的簡稱,是1998年初Netscape的Mozilla小組為其開源軟件項目設(shè)計的軟件許可證。MPL許可證出現(xiàn)的最重要原因是,Netscape公司認為GPL許可證沒有很好地平衡開發(fā)者對源代碼的需求和他們利用源代碼獲得的利益。與著名的GPL許可證和BSD許可證相比,MPL在許多權(quán)利與義務(wù)的約定方面與它們相似(因為都符合OSIA認定的開源軟件許可證)。但與它們相比,MPL還有以下幾個顯著的不同之處:

  • MPL要求對經(jīng)MPL許可證發(fā)布的源代碼的修改也必須以MPL許可證的方式再許可出來,以確保其他人可以在MPL的條款下共享源代碼。但在MPL許可證中,對"發(fā)布"的定義是"以源代碼方式發(fā)布的文件",這意味著MPL允許企業(yè)在其已有的源代碼庫上添加接口,除了接口程序的源代碼以MPL許可證的形式對外許可外,源代碼庫中的源代碼可以不必強制采用MPL許可協(xié)議。這允許在商業(yè)軟件開發(fā)中借鑒他人的源代碼留下了空間。
  • MPL許可協(xié)議第三條第7款允許許可人將經(jīng)MPL許可證獲得的源代碼與自己其他類型的代碼混合以創(chuàng)建自己的軟件程序。
  • 盡管MPL許可協(xié)議不像GPL那樣明確反對軟件專利,但它明確規(guī)定源代碼的提供者不能提供已經(jīng)受專利保護的源代碼,除非他們自己是專利權(quán)人并向公眾免費許可這些源代碼,也不能在將這些源代碼以開放源代碼許可協(xié)議形式許可后再去申請與這些源代碼有關(guān)的專利。
責任編輯:華軒 來源: 口袋大數(shù)據(jù)
相關(guān)推薦

2010-07-15 11:25:32

開源協(xié)議

2021-05-10 16:27:01

μCOSFreeRTOS

2012-08-22 10:44:08

軟件開發(fā)

2011-05-05 09:41:56

開源軟件許可證

2012-07-02 14:47:38

HTML5

2010-03-31 10:31:18

開源許可協(xié)議

2009-05-04 17:08:13

開源ApacheGPL

2015-01-14 10:45:05

Linux

2010-03-31 10:29:38

開源技術(shù)

2018-08-15 09:00:00

開源UIGrommet

2013-07-29 14:04:22

2017-02-20 07:34:29

GPL

2023-03-03 17:33:16

2017-02-20 17:39:13

開源項目GPL協(xié)議

2013-05-06 14:34:42

開源Linux 6.3紅帽企業(yè)級Linux

2009-06-14 19:24:49

2013-08-16 11:24:31

開源Hello!Geek

2024-04-15 09:09:54

TimeGPT人工智能算法

2021-12-15 11:52:34

GPLLinuxGNU

2019-06-28 14:31:03

網(wǎng)絡(luò)協(xié)議棧Flink數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號