【Qt】用Qt开发需要购买授权吗?——关于(L)GPL证书的详解,Qt开发是否需要购买授权?——关于LGPL证书的全面解析

马肤

温馨提示:这篇文章已超过415天没有更新,请注意相关的内容是否还可用!

摘要:关于使用Qt开发软件是否需要购买授权的问题,答案取决于所使用的Qt版本及商业计划。开源Qt框架基础版是免费的,但商业使用可能涉及授权问题。关于GPL证书,GPL是开源协议,遵循其协议开发的软件若涉及商业用途,可能需要遵循某些开源要求。开发者在使用Qt及GPL时,应详细了解相关授权和协议条款。

,我进行了相应的润色和修改,以下是修改后的版本:

目录

在使用Qt进行应用开发的过程中,授权问题是否曾让你感到困惑?

【Qt】用Qt开发需要购买授权吗?——关于(L)GPL证书的详解,Qt开发是否需要购买授权?——关于LGPL证书的全面解析 第1张

Qt框架采用双证书许可机制,既可在商业证书许可下使用,也可在开源证书许可下使用,对于非开源项目,建议选择商业证书许可。

官方描述较为模糊,常见疑问有:

  • Qt开源证书许可是否限制任何商业行为?作品售价是否受限?
  • 满足Qt的开源证书许可要求,是否可以任意使用Qt?
  • 何时可以使用Qt开源证书许可?何时需要购买商业证书?

本文将详细解答上述问题。

官方文档中的“建议”二字即表明,非开源项目并非必须使用商业证书许可,开源证书也并非不能有任何商业行为,在满足开源证书要求的情况下,基于Qt开发的软件是可以不开源的,并进行商业行为,Qt主要使用的开源协议(L)GPL明确规定不限制作品售价。

并非满足开源证书许可的要求后,就能随意使用整个Qt,Qt的部分功能和扩展模块需要在商业证书许可下使用,幸运的是,重要的基本功能以及一些常用扩展模块是支持开源证书许可的,在大多数情况下已经能够满足开发需求。

【Qt】用Qt开发需要购买授权吗?——关于(L)GPL证书的详解,Qt开发是否需要购买授权?——关于LGPL证书的全面解析 第2张

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证书下,我们可以使用:

【Qt】用Qt开发需要购买授权吗?——关于(L)GPL证书的详解,Qt开发是否需要购买授权?——关于LGPL证书的全面解析 第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提供了以下四个方面的自由:

  • 无论何种用途,都可以自由运行该程序。
  • 可以学习程序的运行原理,并修改程序以满足特定需求。
  • 可以分发程序副本,帮助他人。
  • 可以改进程序并向公众发布,以造福整个社区。

要求

想要享受上述自由,必须满足如下要求:

【Qt】用Qt开发需要购买授权吗?——关于(L)GPL证书的详解,Qt开发是否需要购买授权?——关于LGPL证书的全面解析 第4张

(注:翻译水平有限,仅供参考,详见官方文档)

0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码