1、什麼是開源許可證
開源許可證是一種法律許可。經過它,版權擁有人明確容許,用戶能夠免費地使用、修改、共享版權軟件。dom
版權法默認禁止共享,也就是說,沒有許可證的軟件,就等同於保留版權,雖然開源了,用戶只能看看源碼,不能用,一用就會侵犯版權。因此軟件開源的話,必須明確地授予用戶開源許可證。ide
2、開源許可證的種類設計
目前,國際公認的開源許可證共有80多種。它們的共同特徵是,都容許用戶免費地使用、修改、共享源碼,可是都有各自的使用條件。code
若是一種開源許可證沒有任何使用條件,連保留做者信息都不須要,那麼就等同於放棄版權了。這時,軟件能夠直接聲明進入"公共領域"(public domain)。開發
根據使用條件的不一樣,開源許可證分紅兩大類。文檔
寬鬆式(permissive)許可證源碼
Copyleft 許可證產品
BSD開源協議 若是二次發佈的產品中包含源代碼,則在源代碼中必須帶有原來的代碼中的BSD協定; 若是二次發佈產品是二進制格式的庫或程序,則須要在發佈的文檔或版權聲明中說明包含原來的代碼中的BSD協定; 不能夠用開源代碼的做者或組織,以及原來的產品的名字作市場推廣; Apache Licence 2.0 須要給代碼的用戶一份Apache Licence 若是你修改了代碼,須要再被修改的文件中說明。 在延伸的代碼中(修改和有源代碼衍生的代碼中)須要帶有原來代碼中的協議,商標,專利聲明和其餘原來做者規定須要包含的說明。 若是再發布的產品中包含一個Notice文件,則在Notice文件中須要帶有Apache Licence。你能夠在Notice中增長本身的許可,但不能夠表現爲對Apache Licence構成更改。 GPL 咱們很熟悉的Linux就是採用了GPL。GPL的出發點是代碼的開源/無償使用和引用/修改/衍生代碼的開源/無償使用,但不容許修改後和衍生的代 碼作爲閉源的商業軟件發佈和銷售。既必須也是開源和免費。這就是所謂的」傳染性」。 LGPL LGPL是GPL的一個爲主要爲類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟件必須採用GPL協議不一樣。LGPL 容許商業軟件經過類庫引用(link)方式使用LGPL類庫而不須要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼能夠被商業軟件做爲類庫引用並 發佈和銷售。 GPL/LGPL都保障原做者的知識產權,避免有人利用開源代碼複製並開發相似的產品。 MIT MIT是和BSD同樣寬範的許可協議,做者只想保留版權,而無任何其餘了限制。也就是說,你必須在你的發行版裏包含原許可協議的聲明,不管你是以二進制發佈的仍是以源代碼發佈的。