一.常見的六種開源協議
1.BSD協議
BSD協議全稱為“Berkely Software Distribution”,中文譯為“伯克利軟件發行版”。其最早用于伯克利UNIX操作系統上的開源貢獻。
主要特點:
允許修改源碼
允許源碼再發布
允許商業軟件發布和銷售
約束:
如果再次發布的產品中包含源代碼,需要在源代碼中必須帶有原來代碼中的BSD協議。
如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。
不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD 對商業比較友好,很多公司在選用開源產品的時候都首選 BSD 協議,因為可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發。
2.Apache Licence 2.0
apache是一個有著全球影響力的開源組織,其推行的apache licence 2.0 與BSD十分類似,允許使用方進行二次開發和商用,但必須遵守以下約束:
需要給代碼的用戶一份Apache Licence
如果你修改了代碼,需要在被修改的文件中說明。
在延伸的代碼中(修改和包含源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
如果再次發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
3.GPL協議
GPL協議全稱為“GNU General Public License”,中文名稱為“GNU通用公共許可證”,該協議與前面提及的兩項協議存在較大區別,主要是協議具有強制開源性,不利于商業化使用,主要約束有:
(1)始終保持源碼開放
無論是面向開發人員還是非開發人員,都需要確保二次開發后的產品整個源碼可見;無論是以何種介質方式提供,即便是提供二進制可執行代碼也必須附上產品源碼。
(2)不要求版權和署名
只要滿足第一個條件,你無需在源碼或在聲明中備注前述開源作者等相關信息,整體表現為純粹的反版權。
(3)允許對使用方收取一定的服務費
但必須非常清晰地界定,這個費用與代碼成果無關,是一筆感謝費而已。
只要軟件中包含了遵循 GPL 協議的產品或代碼,該軟件就必須也遵循 GPL 許可協議,也就是必須開源免費,不能閉源收費,因此這個協議并不適合商用軟件。
遵循 GPL 協議的開源軟件數量極其龐大,包括 Linux 系統在內的大多數的開源軟件都是基于這個協議。
4.MIT協議
MIT協議全稱為“Massachusetts Institute of Technology”,中文譯為“麻省理工學院許可協議”,該協議與BSD、Apache Licence 2.0頗為相似,但給予開源軟件使用人更大的權利和更少的限制,表現在:
(1)開源軟件使用者有權使用、復制、修改、合并、出版發行、再授權等一系列二次開發權利和不受限的商業行為。
(2)更為驚人的是使用者可以做出與MIT條款相反的一些授權聲明。
目前使用 MIT 協議常用的軟件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。
5.LGPL協議
GUN LGPL(GNU Lesser General Public License,GNU 寬通用公共許可證)。
LGPL 是 GPL 的一個衍生版本,也被稱為 GPL V2,該協議主要是為類庫設計的開源協議。
LGPL 允許商業軟件通過類庫引用(link)的方式使用 LGPL 類庫,而不需要開源商業軟件的代碼。這使得采用 LGPL 協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。
但是如果修改 LGPL 協議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協議。因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,
但不適合希望以 LGPL 協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。
6.Mozilla許可證
Mozilla公共許可證(英語:Mozilla Public License,簡稱MPL) ?允許免費重發布、免費修改,但要求修改后的代碼版權歸軟件的發起者。
要求所有再發布者都得有一個專門的文件就對源代碼程序修改的時間和修改的方式有描述。允許一個企業在自己已有的源代碼庫上加一個接口,除了接口程序的源代碼以MPL 許可證的形式對外許可外,
源代碼庫中的源代碼就可以不用MPL許可證的方式強制對外許可。
二.如何選擇開源協議
1.開源協議邏輯圖
2.寬松程度:MIT>BSD>Apache>LGPL>Mozilla>GPL
三.QT的開源協議
1.QT是開源的,需要遵循LGPL、GPL協議
??2009年3月發布的Qt 4.5 起,諾基亞為Qt增添開源LGPL授權選擇。 Qt的開源協議主要是LGPL(Lesser General Public License),這是一個商業友好的協議,允許開發者使用LGPL協議開發商業程序或非商業的閉源程序。
??此外,Qt也提供了GPL(GNU General Public License)協議,GPL協議要求只要在一個軟件中使用GPL協議的產品,則該軟件產品也必須采用GPL協議,即必須是開源和免費的。
??
2.Qt也提供了Commercial商業協議
Qt的商業協議則是由Nokia定義的,由Nokia和購買方簽訂的具有法律效應的Qt產品授權協議,商業授權協議是需要費用的。
??Qt專業版和企業版是Qt的商業版本。
??如果你購買了這些商業版本,則可以獲得技術支持和升級服務。
??
3.QT官網各個模塊開源許可查詢
https://www.qt.io/zh-cn/product/features