温馨提示:这篇文章已超过415天没有更新,请注意相关的内容是否还可用!
摘要:关于使用Qt开发软件是否需要购买授权的问题,答案取决于所使用的Qt版本及商业计划。开源Qt框架基础版是免费的,但商业使用可能涉及授权问题。关于GPL证书,GPL是开源协议,遵循其协议开发的软件若涉及商业用途,可能需要遵循某些开源要求。开发者在使用Qt及GPL时,应详细了解相关授权和协议条款。
,我进行了相应的润色和修改,以下是修改后的版本:
目录
在使用Qt进行应用开发的过程中,授权问题是否曾让你感到困惑?
Qt框架采用双证书许可机制,既可在商业证书许可下使用,也可在开源证书许可下使用,对于非开源项目,建议选择商业证书许可。
官方描述较为模糊,常见疑问有:
- Qt开源证书许可是否限制任何商业行为?作品售价是否受限?
- 满足Qt的开源证书许可要求,是否可以任意使用Qt?
- 何时可以使用Qt开源证书许可?何时需要购买商业证书?
本文将详细解答上述问题。
官方文档中的“建议”二字即表明,非开源项目并非必须使用商业证书许可,开源证书也并非不能有任何商业行为,在满足开源证书要求的情况下,基于Qt开发的软件是可以不开源的,并进行商业行为,Qt主要使用的开源协议(L)GPL明确规定不限制作品售价。
并非满足开源证书许可的要求后,就能随意使用整个Qt,Qt的部分功能和扩展模块需要在商业证书许可下使用,幸运的是,重要的基本功能以及一些常用扩展模块是支持开源证书许可的,在大多数情况下已经能够满足开发需求。
Qt的开源证书如何使用呢?Qt主要的开源许可是LGPL(GNU Lesser General Public License)v. 3,此外还有以下几种许可:LGPL v. 2.1、GPL v. 3、GPL v. 2以及BSD Cluase 3。
至于功能和模块对应的许可模式,可以在Qt官方功能页面通过筛选的方式查询。
对于筛选过程中可能出现的疑问,即同时适用商业许可、LGPL v. 3和GPL v. 3的模块,实际上只需满足任意一个许可即可使用,我们可以选择最宽松的那个。
某一模块同时适用LGPL和GPL,在这种情况下,我们在满足LGPL证书要求的情况下,就可以随意使用。
在较为宽松的LGPL v. 3证书下,我们可以使用:
- 所有的设计工具
- 所有的开发工具(除Quick Ultralight相关)
- 所有重要Qt功能
- 一半的扩展模块,包括Qt for Python、Qt Multimedia、Qt Webview、Qt SQL、Qt Bluetooth、Qt Serial Port等常用扩展模块。
这些工具、功能和模块在多数情况下都能满足开发需要。
有些模块需要满足更为严格的GPL v. 3,例如Qt Charts、Qt Lottie Animation、Qt gRPC和Qt Protobuf等,少数模块只支持商业授权,如Qt Digital Advertising,如果你计划使用这些模块,就需要购买商业授权了。
开源证书解读
Qt官方对(L)GPL的描述
Qt官方提供了文档Obligations of the GPL and LGPL,描述了自由度和要求:
自由度
LGPL提供了以下四个方面的自由:
- 无论何种用途,都可以自由运行该程序。
- 可以学习程序的运行原理,并修改程序以满足特定需求。
- 可以分发程序副本,帮助他人。
- 可以改进程序并向公众发布,以造福整个社区。
要求
想要享受上述自由,必须满足如下要求:
(注:翻译水平有限,仅供参考,详见官方文档)
- LGPL库的完整代码(或修改后的代码)应与开发的程序一起交付,也可以通过文档说明如何获取库的完整代码。
- 若程序选择闭源,则必须使用动态链接的方式使用LGPL库,在iOS、Android端等无法使用动态链接的情况下,需要以源码的形式交付程序。
- 程序需要支持用户更新LGPL库,并提供相应的安装信息。
- 不完全满足LGPL的程序不允许分发。
- (L)GPL不允许通过合同或条款限制其自由度,如果某些规则与(L)GPL冲突,应以(L)GPL为准。
- 使用LGPL库
还没有评论,来说两句吧...