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 和论坛讨论;商业版有一年的免 费技术支持,有问题就直接发给 [email protected],另外商业版中还包括一年的同 产品免费下载支持。
4.协议不同
这个应该是最本质的不同,使用开源版开发需要遵循 GPL 或者 QPL,而使用商业版就没 有这个限制,大家可以看看 license agreement,原则上只要不开发和 Qt 竞争的产品就可以了。
总而言之,商业版 Qt 授权包括电子邮件(email)支持,可以获得升級,让您能够开发 完全闭源的软件。LGPL 对用户重新连接代码库的许可权有一些限制,不能提供商业数据库 如 Oracle 等的驱动,以及对 Micorsoft Office 二次开发的支持等,有时还有强加某些机 构可能不喜欢的架构要求等其他限制。除此之外,大多数情况下开源版的功能与商业版并无 二致。商业版与开源版功能的详细比较如表 1-5 所示:
表 1-5 开源版与商业版的比较
功能模块 | 开源版 | 商业版 | |
---|---|---|---|
Qt 的基本模块(工具、核心、窗口部件、对话框) 与平台无关的 Qt 图形用户界面工具包和应用类 | √ | √ | |
Qt 设计器 可视化的 Qt 图形用户界面的生成器 | √ | √ | |
图标视图模块 几套图形用户交互操作的可视化效果 | √ | √ | |
工作区模块 多文档界面(MDI)支持 | √ | √ | |
OpenGL 三维图形模块 在 Qt 中集成了 OpenGL | √ | √ | |
网络模块 一些套接字,TCP、FTP 和异步 DNS 查询并且与平台无关的类 | √ | √ | |
画布模块 为可视化效果,图表和其它而优化的二维图形领域 | √ | √ | |
表格模块 灵活的可编辑的表格/电子表格 | √ | √ | |
XML 模块 通过 SAX 接口和 DOM 的很好的且已经成形的 XML 解析器 | √ | √ | |
SQL 模块 SQL 数据库访问类 | 部分驱动(Sqlite、 MySQL) | √ | |
ActiveQt 模块 | 支持 Office 二次开发等的模块 | x | √ |
售后服务和支持 | x 可单独购买服务 | √ |
如果要下载上述版本的 Qt,只需访问网址: http://www.qtsoftware.com/downloads,而商业版本还需要与 Nokia 接洽。