標籤:
最近做跨平台圖形化使用者介面庫選型,權衡很多因素後最終選擇了Qt,其中一個重要因素就是Qt使用LGPL授權許可。由於本人對LGPL理解有限,始終對閉源商業軟體如何發布Qt庫存在疑問,其中最關心的是:發布的商業軟體中是否可以包含(或附帶)Qt的動態連結程式庫(dll,so)。於是在網路上尋找到如下相關資源:
官方的說法(查看原文“Qt: Making the right licensing decision”):
LGPL
The LGPL is a license agreement written (and copyrighted) by the Free Software Foundation.
The LGPL is a “copyleft” open source software license but is less restrictive than the GNU GPL.
Facts:
The LGPL version 2.1 license was created by the Free Software Foundation and is copyrighted by them. This means that the terms cannot be changed or negotiated by us.
Users can develop proprietary applications that dynamically link to the Qt libraries without having to release their application source code.
All modifications that are considered “works based on the Library” must be licensed under the LGPL v. 2.1 and need to be shared with downstream recipients in source code format (i.e. contributed back). In the Qt context this means that modifications made to Qt itself must be licensed under the terms of the LGPL.
If you are shipping an executable, you must include any data and utility programs needed for reproducing the executable (i.e. must provide components needed to recompile with a new version of the library) unless such data and utility programs are normally distributed with the major components of the operating system on which the executable runs.
Copyrights and notices need to be maintained.
Because the LGPL is a complex legal document, we always suggest that you have your legal counsel review the license prior to beginning development work to ensure that the LGPL is appropriate for your development project. Please note that once you begin with the LGPL you cannot then convert to a commercial license due to a restriction in our commercial license agreement.
網友討論:
“Qt之LGPL授權下的陰謀?” 來自 CSDN
“Freely distribute the Qt shared libraries (DLLs)?” 來自Qt官方論壇
我的結論:
閉源商業軟體免費使用LGPL版的Qt必須滿足如下條件:
1、不修改Qt原始碼。
2、必須用動態連結的方式使用Qt庫。
3、在軟體著作權聲明中說明使用了LGPL版本的Qt、說明具體使用了那些Qt庫,並確保軟體使用者瞭解。
4、在發布的軟體中包含Qt原有著作權聲明。
另:滿足以上條件後發布的程式中可以附帶Qt動態庫(即打包在一個安裝包中)。
參考:http://my.oschina.net/eechen/blog/66337
如何發布使用LGPL版Qt的商業軟體