開源許可證授予任何人以任何目的使用,修改和共享許可軟件的許可,但要遵守保護軟件出處和開放性的條件。開源許可證主要有兩種類型:copyleft
和permissive
。在本文中,我們將比較這兩種許可證,並查看每種許可證的示例。
Copyleft
和permissive
許可證:有什麼區別?
Copyleft
和permissive
許可證都允許開發人員自由地複製,修改和重新分發代碼(派生或其他方式)。但是,兩者之間最重要的區別在於它們各自如何獲得版權。
儘管permissive
許可證允許開發人員包括自己的版權聲明,但Copyleft
許可證不提供此類特權。相反,Copyleft許可規則要求所有衍生作品必須服從原始許可。這意味着開發人員無法對原始軟件提出專利或版權主張。
根據White Source
的研究,最受歡迎的permissive
許可證是MIT
和Apache 2.0
,而BSD
排在第三位。GNU GPLv3
是目前最流行的copyleft
許可證,但比起permissive
許可證,它正在逐漸失去市場份額。
MIT
許可證
MIT
許可證本質上是permissive
,也是最簡單的一個。基本上,它使開發人員可以根據自己的喜好修改或重新校準源代碼。
MIT
許可證始終包含版權聲明和免責聲明,這說明該軟件按“原樣”提供,並且版權所有者對任何索賠或責任不承擔任何責任。
MIT
許可證的持有者可以不受限制地從原始軟件中產生任何衍生作品,甚至可以從二手產品的銷售中獲得商業利益。
MIT
許可證與GPL
兼容,但與傳統的限制性GPL
不同,它不是病毒式的。這意味着開發人員可以修改原始代碼,而不會用原始許可證“感染”生成的派生代碼
permissive
- 該作品適合商業用途。
- 被許可人可以修改作品。
- 被許可人必須爲作品提供適當的歸屬。
- 被許可人可以按照不同的條款重新分發衍生作品
- 被許可方不必隨其衍生作品一起分發源代碼。
Apache 2.0
許可證 (ASL 2.0
)
該許可證於2004年發佈,取代了原始的Apache 1.1
。像修改後的BSD
和MIT
許可證一樣,Apache 2.0
本質上是permissive
。
Apache 2.0
版本清楚地定義什麼是法律實體,衍生作品和貢獻。它還明確指定了與專利權授予相關的條款,BSD
,Apache v1.1
和MIT
許可證中沒有這些條款。值得注意的是,如果針對任何實體提起專利侵權訴訟,那麼從Apache 2.0
授予開發人員的所有專利許可將在訴訟提交之日起中止。
Apache 2.0
許可證還具有與重新分配權限有關的嚴格規則。它特別要求向任何衍生作品的接收者提供Apache 2.0
許可證的副本。最值得注意的是,開發人員必須提供明確的聲明,以驗證文件已被修改。任何衍生作品的源代碼形式還必須保留原始軟件源代碼形式的所有版權,專利和所有權聲明。
最後,如果原始作品包括歸屬聲明(在NOTICE文本文件中),則開發人員必須確保衍生作品也包括NOTICE文件。開發人員在上述文件中包含自己的所有權聲明和版權聲明。
permissive
- 該作品適合商業用途。
- 被許可人可以修改作品。
- 被許可人必須爲作品提供適當的歸屬。
- 被許可人可以按照不同的條款重新分發衍生作品。
- 被許可方不必隨其衍生作品一起分發源代碼。
BSD
許可證或3條款BSD
許可證
這些開放源代碼許可與MIT
許可類似,但有一個小但重要的區別:儘管它們包含相同的版權和免責聲明,但它們還提供了額外的非歸因條款,以保護軟件的原始創建者。該條款被非正式地稱爲“非認可條款”。它要求開發人員在使用創建者的原始名稱推廣衍生產品之前,必須獲得明確的許可。
3條款BSD
還要求以二進制形式重新分發,以包括原始版權聲明,免責聲明和所需條件列表。
本質上,3條款BSD
許可證是對原始4條款BSD
許可證的新修改。在3條款BSD中,省略了“廣告條款”,該條款要求所有廣告均提及該軟件的使用,以承認UCLA Berkeley
及其貢獻者的身份。
這一“廣告條款”使歸因合規過程變得很麻煩,並最終導致4條款BSD
許可證與GNU GPL
不兼容。1999年7月22日,該條款被廢止。迄今爲止,兩條款 BSD
許可和三條款 BSD
許可省略了“廣告條款”,使其與GPL
兼容。
簡化的2條款BSD
許可省略了“廣告條款”(來自原始4條款BSD
)和“非認可條款”(來自3條款BSD
許可)。值得注意的是,Net BSD
項目(涉及Berkeley
設計的類Unix
操作系統)利用了2條款BSD
許可證。
permissive
- 該作品適合商業用途。
- 被許可人可以修改作品。
- 被許可人必須爲作品提供適當的歸屬。
- 被許可人可以按照不同的條款重新分發衍生作品。
- 被許可方不必隨其衍生作品一起分發源代碼。
- 被許可人不能使用原始作者姓名或商標來認可衍生作品(3和4條款BSD)
- 被許可人必須在提及功能或作品使用的所有廣告材料中承認原始作者(4條款BSD)
GPLv3
開源許可證
GPL
(通用公共許可證)是最流行的copyleft
許可證。FSF
(自由軟件基金會)致力於確保GPL
保護所有用戶自由地修改和分發他們認爲合適的代碼。
GPL
基於四個自由:自由使用源代碼用於任何目的,自由進行修改,與任何人共享源代碼的自由以及共享更改的自由。
與公衆意見相反,GPL
並不禁止用戶出售基於原始源代碼的衍生作品;它只要求源代碼可以免費供任何需要的人使用。這就是“互惠義務”。
迄今爲止,GPLv3
取代了GPLv2
。最值得注意的是,GPLv3
現在與其他許可證兼容,例如Apache 2.0
。FSF
還發布了Affero GPL
和LGPL
(更寬鬆的GPLv3
形式),Affero GPL
有助於在服務器上運行的程序。
copyleft
- 該作品適合商業用途。
- 被許可人可以修改作品。
- 被許可方必須與衍生作品一起發佈源代碼。
- 衍生作品必須以相同的條款發佈。