什么是開源?
開源(Open Source)
全稱是:開放源代碼。
在今天,不僅是軟件的源代碼,還有硬件的機械圖、電路圖、PCB圖,甚至整個工程項目的源文件,也都是開源的對象。
開源的目的,就是讓用戶在一個工程項目中,利用開源的源代碼和源文件,在前一位開發者的基礎上進行學習、修改、完善,使之變得更完美。
開源雖然免費,但是這些源代碼和源文件以及它的產物是有版權的,同樣受到法律保護。
什么是開源協議?
開源協議是工程項目中,那些開源共享的部分或者全部源代碼和源文件,去遵循的一個公認協議,用來保護每一個為它做出貢獻的開發者。
常用的開源協議
我們在開源平臺發布的工程項目,需要選擇一個公認的開源協議,用來保護自己和前任開發者的合法權益。
現在存在的開源協議多達幾十種,下面我們看看在開源平臺中常見的那些開源協議:
1、Public Domain
協議原文:
https://creativecommons.org/share-your-work/public-domain/
協議簡介:
這是公有領域的協議,申明了權利或權益不為個人或團體所有,這些知識或發明是屬于公有的文化遺產。
2、TAPR Open Hardware License
協議原文:
https://www.tapr.org/ohl.html
協議簡介:
這是TAPR開放硬件許可證,
它與GNU通用公共許可證一樣,OHL旨在保證你分享和創造的自由。它禁止任何人接受OHL規定的拒絕任何其他被許可人的相同權利的權利復制、修改和分發文檔,以及制作、使用和根據文件分發產品。它又與GPL不同,OHL主要不是版權許可。
3、CERN Open Hardware License
協議原文:
https://www.ohwr.org/projects/cernohl/wiki
協議簡介:
這是CERN開放硬件許可證,
CERN方面稱OHL的誕生源自于其想公開分享硬件設計的愿望。他們認為GPL、MIT以及Apache 2.0之類的開源許可證并不能完全滿足其想要分享硬件設計的需求。
在硬件方面,與商業公司合作是必要的,因為需要有人來制造它、組裝測試并賣出。公司不喜歡法律風險,所以需要一個許可證來明確條件是什么。
CERN開放式硬件許可證2.0版于2020年正式發布,以促進硬件設計者之間的合作;并提供一個法律工具,支持自由使用、研究、修改、分享和分發硬件設計和基于這些設計的產品。該許可證版本最終獲得了三種變體包括CERN-OHL-P(permissive);以及兩個互惠許可證:CERN-OHL-W(weakly reciprocal)和CERN-OHL-S(strongly reciprocal)。
4、GPL 3.0(GNU General Public License version 3)
協議原文:
https://opensource.org/licenses/GPL-3.0
協議簡介:
這是GUN的通用公共許可證,
只要在工程項目中使用了GPL協議下的產品,那么這個工程項目必須采用GPL協議,也就是說必須開源和免費。
GPL的出發點是代碼的開源與免費使用和引用、修改、衍生代碼的開源與免費使用,但不允許修改后和衍生的代碼做為閉源的商業軟件發布和銷售。
GPL最顯著的特點是“病毒性傳播”和“不允許閉源的商業發布”,我們熟悉的linux就是使用了GPL許可。
5、LGPL(GNU LGPL)
協議原文:
https://opensource.org/licenses/lgpl-license
協議簡介:
這是GNU的寬通用公共許可證,
LGPL是GPL主要為類庫使用而設計的開源協議,與原生的GPL協議不同。
LGPL允許商業軟件通過對類庫以引用的方式使用LGPL類庫,而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。
但是如果修改LGPL協議的代碼或者衍生代碼,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協議開源。
因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。
GPL和LGPL都是在保護原作者的知識產權,避免有人利用開源代碼復制并開發類似產品閉源銷售。
6、BSD(Berkeley Software Distribution)
協議原文:
https://opensource.org/licenses/BSD-2-Clause
協議簡介:
這是"伯克利軟件發行版"許可,
是一個給予使用者很大自由度的協議,基本上可以認為是能“為所欲為”的使用。
可以自由使用、修改源工程,也可以將原工程修改后的工程作為開源或者專有再發布,但是需要滿足下面的條件:
a、如果再發布的產品中包含源工程,則在工程中必須帶有原來的BSD協議;
b、如果再發布的只是二進制類庫或軟件,則需要在類庫或軟件的文檔和版權聲明中包含原來代碼中的BSD協議;
c、不可以用開源的作者或機構名字以及原來產品的名字去做市場推廣。
7、MIT(The MIT License)
協議原文:
https://opensource.org/licenses/MIT
協議簡介:
MIT和BSD一樣是寬泛的許可協議,作者只保留版權,而無需任何其他的限制。
MIT許可證的名字源自麻省理工學院(Massachusetts Institute of Technology),又叫做「X條款」(X License)或者「X11條款」(X11 License)。
MIT內容與三條款BSD許可證(3-clause BSD license)內容很像,但是賦予被授權人更大的權利和更少的限制。
被授權人有權利使用、復制、修改、合并、出版發行、散布、再授權及出售軟件及軟件的副本。 被授權人可根據程式的需要修改授權條款為適當的內容。 在軟件和軟件的所有副本中都必須包含版權聲明和許可聲明。此授權條款并非屬copyleft的自由軟件授權條款,允許在自由或開放源碼軟件或非自由軟件(proprietary software)所使用。
這就是MIT與BSD本質上不同之處。
MIT條款可與其他授權條款并存。另外,MIT條款也是自由軟件基金會(FSF)所認可的自由軟件授權條款,是與GPL相容的。
8、知識共享許可
CC-BY 3.0
協議原文:
https://creativecommons.org/licenses/by/3.0/
CC-BY-SA 3.0
協議原文:
https://creativecommons.org/licenses/by-sa/3.0/
CC-BY-NC-SA 3.0
協議原文:
https://creativecommons.org/licenses/by-nc-sa/3.0/
CC-BY-NC 3.0
協議原文:
https://creativecommons.org/licenses/by-nc/3.0/
協議簡介:
上面這四種協議都是知識共享許可,那些字母代表的意義如下:
CC:知識共享許可協議(Creative Commons license)的縮寫。
BY:署名,您必須給出適當的署名,提供指向本許可協議的鏈接,同時標明是否(對原始作品)作了修改。
SA:相同方式共享,如果您在混合、轉換或者基于本工程項目進行創作開發,您必須基于與原先許可協議相同的許可協議分享發布您貢獻的部分。
NC:非商業使用,您不得將本作品用于商業目的。
ND:禁止演繹,如果您在混合、轉換或者基于該作品創作開發,您不可以分享發布修改后的作品。
申明:
文中涉及開源協議的簡介和解釋,源于協議原文和相關文章的內容。
個人能力有限整理匯編的內容如有誤差,請告知我,我將通過置頂評論的方式進行糾正。