軟件開源協議與QT的開源協議介紹

一.常見的六種開源協議

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13488.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13488.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13488.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

shell 腳本筆記2

3.env與set區別 env用于查看系統環境變量 set用于查看系統環境變量自定義變量函數 4.常用環境變量 變量名稱含義PATH命令搜索的目錄路徑, 與windows的環境變量PATH功能一樣LANG查詢系統的字符集HISTFILE查詢當前用戶執行命令的歷史列表 Shell變量:自定義變量 目標…

HCIP【VRRP、MSTP、VLAN綜合實驗】

目錄 一、實驗拓撲圖: ?編輯二、實驗要求 三、實驗思路 四、實驗步驟 (1) eth-trunk技術配置 (2)vlan 技術配置 (3)配置SW1、SW2、AR1、ISP的IP地址 (4)在交換機…

FBB-Frontiers in Bioengineering and Biotechnology

文章目錄 一、期刊簡介二、征稿信息三、期刊表現四、投稿須知五、投稿咨詢 一、期刊簡介 Frontiers in Bioengineering and Biotechnology是專注生物工程和生物技術領域的開放獲取期刊。 研究范圍涵蓋生物材料、生物力學、生物工藝工程、生物安全和生物安保,生物傳…

QT項目-歡樂斗地主游戲

QT項目-歡樂斗地主游戲 游戲概述游戲規則牌型牌型的大小游戲角色游戲規則游戲的勝負游戲計分規則 游戲相關的類介紹卡牌類玩家類窗口類游戲控制類游戲策略類線程類音頻類 游戲主要組件卡牌玩家窗口 游戲控制源碼 游戲概述 游戲規則 不同地域游戲規則可能有些許差異&#xff0c…

MySQL之Schema與數據類型優化(三)

Schema與數據類型優化 BLOB和TEXT類型 BLOB和TEXT都是為存儲很大的數據而設計的字符串數據類型,分別采用二進制和字符方式存儲。 實際上它們分別屬于兩組不同的數據類型家族:字符類型是TINYTEXT,SMALLTEXT,TEXT,MEDIUMTEXT,LONG…

Spring Cloud整合Sentinel

1、引入依賴 鏈接: 點擊查看依賴關系 父pom <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <spring.cloud.alibaba.version>2.2.10-RC1</spring.cloud.alibaba.version>Sentinel應用直接引用starter <dependency><groupId&…

【UE5.1】* 動畫重定向 (讓你的角色可以使用小白人全部動畫)

前言 這里以小白人動畫重定向給商城資產“Adventure Character”中的角色為例&#xff0c;闡述如何使用UE5.1進行動畫重定向。 步驟 1. 創建一個IK綁定 這里選擇小白人的骨骼網格體 這里命名為“IKRig_Mannequin” 2. 再新建一個IK綁定&#xff0c;這里使用你要替換給的角色…

MyBatis入門——MyBatis XML配置文件(3)

目錄 一、配置連接字符串和MyBatis 二、寫持久層代碼 1、添加 mapper 接口 2、添加 USerInfoXmlMapper.xml 3、測試類代碼 三、增刪改查操作 1、增&#xff08;Insert&#xff09; 返回自增 id 2、刪&#xff08;Delete&#xff09; 3、改&#xff08;update&#xf…

軟考--試題六--中介者模式(Mediator)

中介者模式(Meditor) 意圖 用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用&#xff0c;從而使其耦合松散&#xff0c;而且可以獨立地改變它們之間的交互 結構 適用性 1、一組對象以定義良好但是復雜的方式進行通信&#xff0c;產生的相互依賴關…

民國漫畫雜志《時代漫畫》第17期.PDF

時代漫畫17.PDF: https://url03.ctfile.com/f/1779803-1248612629-85326d?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps:資源來源網絡&#xff01;

力扣HOT100 - 1143. 最長公共子序列

解題思路&#xff1a; 動態規劃 class Solution {public int longestCommonSubsequence(String text1, String text2) {int m text1.length(), n text2.length();int[][] dp new int[m 1][n 1];for (int i 1; i < m; i) {char c1 text1.charAt(i - 1);for (int j 1…

深度學習之基于YoloV5的動物識別系統

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與目標 在生態研究、動物保護、以及畜牧業等多個領域&#xff0c;對動物進行準確、高效的識別都具有重…

形態學操作:腐蝕、膨脹、開閉運算、頂帽底帽變換、形態學梯度區別與聯系

一、總述相關概念 二、相關問題 1.形態學操作中的腐蝕和膨脹對圖像有哪些影響&#xff1f; 形態學操作中的腐蝕和膨脹是兩種常見的圖像處理技術&#xff0c;它們通過對圖像進行局部區域的像素值替換來實現對圖像形狀的修改。 腐蝕操作通常用于去除圖像中的噪聲和細小的細節&a…

單鏈表oj

練習 1. 刪除val節點 oj鏈接 這道題最先想出來的方法肯定是在遍歷鏈表的同時刪除等于val的節點&#xff0c;我們用第二中思路:不等于val的節點尾插&#xff0c;讓后返回新節點。代碼如下&#xff1a; struct ListNode* removeElements(struct ListNode* head, int val) {str…

XML基礎知識

1. 常見配置文件類型 properties文件,例如druid連接池就是使用properties文件作為配置文件 XML文件,例如Tomcat就是使用XML文件作為配置文件 YAML文件,例如SpringBoot就是使用YAML作為配置文件 json文件,通常用來做文件傳輸&#xff0c;也可以用來做前端或者移動端的配置文件…

軟考高級-信息系統項目管理師案例題選擇題做題總結

1.不應該只會建立變更和配置管理的規則&#xff0c;應該建立變更控制流程 2.變更的影響不應該只由工程師評估 3.沒有對變更和修改進行記錄 4.變更完成后&#xff0c;客戶沒有對變更進行驗證 5.變更沒有通知相關人員 6.變更沒有和配置管理關聯 7.項目變更管理的工作流程&#xf…

SOLIDWORKS科研版的介紹

SOLIDWORKS科研版的介紹 針對研究項目充分利用軟件功能&#xff0c;無任何限制訪問有關工程和科學的最新技術&#xff0c;并與世界各地的其他用戶進行交流。 SOLIDWORKS科研版可為研究人員提供有關 SOLIDWORKS 設計和科學工程技術的最新知識&#xff0c;并使他們與世界范圍內的…

08.CNN

文章目錄 Observation 1Pooling - Max PoolingFlattenApplication&#xff1a;Playing Go使用驗證集選擇模型食物分類 Observation 1 Pooling - Max Pooling Pooling主要為了降低運算量&#xff0c;現在一般不用了&#xff0c;全convolution Flatten Application&#xff1a;P…

學校上課,是耽誤我學習了。。

>>上一篇&#xff08;文科生在三本院校&#xff0c;讀計算機專業&#xff09; 2015年9月&#xff0c;我入學了。 我期待的大學生活是多姿多彩的&#xff0c;我會參加各種社團&#xff0c;參與各種有意思的活動。 但我是個社恐&#xff0c;有過嘗試&#xff0c;但還是難…

Linux|如何在 awk 中使用流控制語句

引言 當您從 Awk 系列一開始回顧我們迄今為止介紹的所有 Awk 示例時&#xff0c;您會注意到各個示例中的所有命令都是按順序執行的&#xff0c;即一個接一個。但在某些情況下&#xff0c;我們可能希望根據某些條件運行一些文本過濾操作&#xff0c;這就是流程控制語句的方法。 …