查蘊初 林芷伊 隋中昱含 李澤朋
摘要:開源成為了程序員圈子的一股潮流,但是很多都不是很清楚各種開源協議的內容,以及各個開源協議的區別,所以這篇文章對開源協議做一些簡單的介紹,幫助大家了解一些常見的開源協議的條款和適用范圍。
關鍵詞:開源;網絡;許可證;程序
一、Apache v2 Licence
需要給代碼的用戶一份Apache Licence
如果修改了代碼,需要在修改的文件匯總說明
在衍生的代碼中需要帶有原來代碼中的協議、商標。專利聲明和其他原來作者規定需要包含的說明
如果在發布的產品中添加Notice,則Notice文件中需要帶有Apache Licence,可以增加自己的許可,但不可以對Apache Licence構成更改
二、MIT Licence
MIT與BSD許可證相近,但是賦予被授予人更大的權力與更小的限制,被授權人有權使用、復制、修改、合并、出版發行、散步、在授權、以及販售軟件的副本,被授權人可以根據程序修改授權條款內容,在軟件和軟件所有副本都必須包含版權聲明和許可聲明,該授權可以在自由、開源或非自由軟件使用,可以與其他授權條款并存
三、GPL v2
GNU通用公共許可協議設計用于確保你享有分發自由軟件的自由(你可以為此服務收費),確保你可以在需要的時候獲得這些軟件的源碼,確保你可以修改這些軟件或者在新的自由軟件中復用其中某些片段,并且確保你在這方面享有知情權。自由權利包括復制、分發和修改。源碼是指所有修改作品及生成、安裝、運行(對可執行作品而言)目標碼所需的源碼,包括控制上述行為的腳本,但其中不包括系統庫、通用工具。
四、GPL v3
與v2類似,區別在于不僅要求用戶公布修改的源代碼,還阻止了其他一些私有化方式,不得以任何新式阻止用戶修改產品內的以GPL許可協議發布的軟件。
五、Affero GPL
相比GPL v3,加入額外條款,其目的是為了Copyleft條款應用于在網絡上運行的應用程式(如Web應用),從而避免有人以應用服務提供商方式逃避GNU通用公眾特許條款。
六、LGPL v2.1
LGPL是GPL的一個為主要為類庫使用者設計的開源協議,允許商業軟件通過類庫引用的方式使用LGPL類庫而不用開源商業軟件代碼。如果修改LGPL的代碼,則所有設計修改部分的額外代碼都必須采用LGPL協議,所以LGPL適合作為第三方類庫被商業采用,不適合以此為基礎做二次商業開發。
七、LGPL v3
與GPLv3類似,阻止了其他一些私有化方式,例如“鎖定”,“安全啟動”,不得以任何形式阻止用戶修改產品內的以GPL許可證協議發布的軟件。
八、Artistic Licence 2.0
通常指最初的藝術許可協議,是一個自由軟件授權條款,一般用在官方發布的Perl解釋器和大部分CPAN模塊的授權。
九、BSD 2-Clause Licence
允許用改制修改和重新發布代碼,允許商業發布和銷售.
再發布產品中包含源代碼,則源代碼中必須帶有原來代碼中的BSD協議如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議
BSD 3-Clause Licence相比二加入了一條不可以用開源代碼的“作者/機構的名字”或“原來產品的名字”做市場推廣
十、MPL
MPL與GPL,BSD類似,但是有如下幾個不同:
MPL可以通過在自己源代碼庫上加一個接口,除了接口程序的源代碼以MPL許可證的形式對外許可,源代碼庫中的源代碼就可以不用強制對外MPL允許被許可人將獲得的源代碼與自己的代碼混合得到自己的軟件程序,MPL不反對軟件專利,但是要求源代碼作者不能提供已經受到專利保護的代碼(除非本人是專利人,且書面向公眾授權),也不能將這些源代碼開源許可后再去申請相關專利。所有在發布者必須有一個專門的文件丟源代碼修改的時間和修改方式有描述
十一、Public Domain
人類的一部分作品和一部分知識的匯總,屬于全人類公共文化遺產,任何人或組織不具有所有權益,任何人可以不受限制的使用和加工他們。創立版權制度的初衷是借由給予創作者一段時期的專有權利作為(經濟)刺激以鼓勵作者從事創作。當專有權利期間截止,作品便進入公有領域。公有領域的作品由于沒有專屬權利人,因此公眾有權自由使用它們。
參考文獻:
[1]何東杰,宋昊,王琪,匡翔宇,劉為懷,蔣丹妮.開源許可證及其檢測工具研究[J].計算機應用與軟件,2018,35(06):28-35+53.
[2]張敏,李曉丹,李忠富.國際主要BIM開源軟件的發展現狀綜合分析[J].工程管理學報,2017,31(06):17-22.
[3].開源大數據軟件的浪潮[J].中國政府采購,2015(05):82.
[4]池潤華. 開源Java應用服務器軟件選型模式的研究及應用[D].復旦大學,2013.
[5]CSDN,bert_cai,《開源許可證的簡單介紹》