ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 1.4 Qt 的授权 Qt 产品的提供是采用双重授权的软件许可模式。在该双重授权模式下, Qt 产品不仅可 在获得商业许可下针对专利软件开发,而且还可以在 GPL(通用公共许可证,版本 2 或版本 3)下用于开发免费和开源软件。 也就是说,Qt 这个软件本身是开源和免费使用的, 如果 你基于 GPL 协议来开发软件的话,你开发的东西都要以 GPL 协议发布- 开源并免费提供源 码。 自从 Qt4.5 版本发布以后,Qt 通过三种授权方式提供: 商业、 LGPL 和 GPL,并且 仍然符合 Qt 的双重授权战略,表 1-3 示出了 Qt 的授权方式的简要说明,表 1-4 对比了授 权方式在具体使用时的不同。 表 1-3 Qt 的授权方式 | Qt 商业版 | Qt 商业授权适用于开发专属和/或商业软件。此版本适用于不希望与他人共享源代码,或者遵循 GNU 宽通用公共许可证 (LGPL) 2.1 版或 GNU GPL 3.0 版条款的开发人员。 | | --- | --- | --- | --- | | Qt GNU LGPL v. 2.1 | 此版本 Qt 适用于开发专属或开源 Qt 应用程序,前提条件是必须遵循 GNU LGPL 2.1 版的条款。 | | Qt GNU GPL v. 3.0 | 如果您希望将 Qt 应用程序与受 GNU 通用公共许可证 (GPL) 3.0 版本条款限制的软件一同使用,或 者您希望 Qt 应用程序遵循该 GNU 许可证版本的条款,则此版本 Qt 适用于开发此类 Qt 应用程 序。 | 表 1-4 Qt 授权对照表 | | 商业版 | LGPL 授权版 | GPL 授权版 | | --- | --- | --- | --- | | 授权收费 | 收取授权费 | 免费 | 免费 | | 必须提供更改 Qt 的源代码 | 不需要, 更改的代码可以不公 布 | 必须提供源代码 | 必须提供源代码 | | 可以创建专属应用程序 | 可以,不必公布源代码 | 可以,但必须遵循 LGPL v.2.1 条款 | 不可以,应用程序受 GPL 限 制,且源代码必须公开。 | | 提供更新 | 是,仅限申请有效维护服务的 用户。 | 是,免费发布。 | 是,免费发布。 | | 支持 | 提供,条件是维护协议必须有 效。 | 不提供,必须单独购买。 | 不提供,必须单独购买。 | | 运行时收费 | 是 | 否 | 否 | 按照授权协议的不同,Qt 被按不同的版本发行: Qt 商业版用于商业软件的开发,提供免费升级和技术支持服务。 Qt 开源版是 Qt 的非商业版本,是为开发自由和开放源码软件提供的 Unix/X11 版本。 在 GNU、GPL 或 LGPL 许可证下,它可以免费下载和使用。 此外,Qt 还提供了免费评估版、快照、beta 测试版、预览版等多种版本,其中免费评 估版 Qt 适用于 Windows、Mac、Linux、嵌入式 Linux 和 Windows CE 平台,它不但具备 全部功能,还带有源代码,Nokia 会在您进行评估期间提供技术支持。而快照、 beta 测试 版、预览版等版本则得不到 Qt 的支持。 ### 1.4.1 Qt 开源版和商业版的不同 在网上经常看到有朋友提问,Qt 开源版和商业版到底有那些不同,有没有必要使用商 业版等问题,看来还是很有必要向大家介绍一下: 1\. 功能不尽相同 两者在源码上基本一致,但开源版缺少一些数据库插件,因为这些插件都是基于特定数据库客户端程序的,很多商业数据库的客户端程序并不是开源的,所以插件就无法开源;也就是说,开源版不支持商业数据库的驱动,一般需要大家自己写驱动或者是采用第三方的 驱动。另外,在 Windows 版本上,开源版没有 ActiveQt 这个模块,它可以用来开发ActiveX 程序。 2\.收费不同 开源版不收费,商业版根据版本不同,费用不同,一般一个 developer license 需要 大约几千美金。 3\.服务不同 开源版不能享受服务,但可以到一些开放的 maillist 和论坛讨论;商业版有一年的免 费技术支持,有问题就直接发给 support@qtsoftware.com,另外商业版中还包括一年的同 产品免费下载支持。 4\.协议不同 这个应该是最本质的不同,使用开源版开发需要遵循 GPL 或者 QPL,而使用商业版就没 有这个限制,大家可以看看 license agreement,原则上只要不开发和 Qt 竞争的产品就可以了。 总而言之,商业版 Qt 授权包括电子邮件(email)支持,可以获得升級,让您能够开发 完全闭源的软件。LGPL 对用户重新连接代码库的许可权有一些限制,不能提供商业数据库 如 Oracle 等的驱动,以及对 Micorsoft Office 二次开发的支持等,有时还有强加某些机 构可能不喜欢的架构要求等其他限制。除此之外,大多数情况下开源版的功能与商业版并无 二致。商业版与开源版功能的详细比较如表 1-5 所示: 表 1-5 开源版与商业版的比较 | 功能模块 | 开源版 | 商业版 | | --- | --- | --- | --- | | Qt 的基本模块(工具、核心、窗口部件、对话框) 与平台无关的 Qt 图形用户界面工具包和应用类 | √ | √ | | [Qt 设计器](http://www.qiliang.net/qt/designer-manual.html) 可视化的 Qt 图形用户界面的生成器 | √ | √ | | [图标视图模块](http://www.qiliang.net/qt/iconview.html) 几套图形用户交互操作的可视化效果 | √ | √ | | [工作区模块](http://www.qiliang.net/qt/workspace.html) 多文档界面(MDI)支持 | √ | √ | | [OpenGL 三维图形模块](http://www.qiliang.net/qt/opengl.html) 在 Qt 中集成了 OpenGL | √ | √ | | [网络模块](http://www.qiliang.net/qt/network.html) 一些套接字,TCP、FTP 和异步 DNS 查询并且与平台无关的类 | √ | √ | | [画布模块](http://www.qiliang.net/qt/canvas.html) 为可视化效果,图表和其它而优化的二维图形领域 | √ | √ | | [表格模块](http://www.qiliang.net/qt/table.html) 灵活的可编辑的表格/电子表格 | √ | √ | | [XML 模块](http://www.qiliang.net/qt/xml.html) 通过 SAX 接口和 DOM 的很好的且已经成形的 XML 解析器 | √ | √ | | [SQL 模块](http://www.qiliang.net/qt/sql.html) SQL 数据库访问类 | 部分驱动(Sqlite、 MySQL) | √ | | ActiveQt 模块 | 支持 Office 二次开发等的模块 | x | √ | | 售后服务和支持 | x 可单独购买服务 | √ | 如果要下载上述版本的 Qt,只需访问网址: http://www.qtsoftware.com/downloads,而商业版本还需要与 Nokia 接洽。