Digia 的网站报告说 Qt 在商业或 LGPL 许可下可用:http: //qt.digia.com/licensing。
但是,Qt 项目页面报告说 GPLv3 也可用:http: //qt-project.org/doc/qt-5.0/qtdoc/licensing.html。
那么,Qt 在 GPL 许可下是否也可用?
[ 由于 LGPL 暗示接收者必须可以“将程序与更新版本的 LGPL 库链接”,因此当您更愿意提供源代码而不是访问嵌入式文件系统时,GPL 更好。]
Digia 的网站报告说 Qt 在商业或 LGPL 许可下可用:http: //qt.digia.com/licensing。
但是,Qt 项目页面报告说 GPLv3 也可用:http: //qt-project.org/doc/qt-5.0/qtdoc/licensing.html。
那么,Qt 在 GPL 许可下是否也可用?
[ 由于 LGPL 暗示接收者必须可以“将程序与更新版本的 LGPL 库链接”,因此当您更愿意提供源代码而不是访问嵌入式文件系统时,GPL 更好。]
IANAL,但这在 LGPL 条款中明确说明:参见LGPL 2.1
§3。您可以选择将普通 GNU 通用公共许可证的条款而不是本许可证的条款应用于库的给定副本。为此,您必须更改所有涉及本许可证的通知,以便它们引用普通的 GNU 通用公共许可证第 2 版,而不是本许可证。(如果出现了比普通 GNU 通用公共许可证版本 2 更新的版本,那么您可以根据需要指定该版本。)不要对这些通知进行任何其他更改。
但是,我看不出有什么特别的理由这样做,除了您不希望继续扩展额外 LGPL 权限的衍生作品。LGPL 没有具体要求“可以将程序与更新版本的 LGPL 库链接”。使用的措辞是:
§6(b) 使用合适的共享库机制与库链接。一种合适的机制是(1)在运行时使用用户计算机系统上已经存在的库的副本,而不是将库函数复制到可执行文件中,并且(2)将使用库的修改版本正常运行,如果用户安装了一个,只要修改后的版本与制作作品的版本界面兼容。
任何地方都不需要更新的、不兼容接口的版本必须工作;这作为一个技术目标已经够难了,更不用说法律要求了:-)
你是对的,如果不向用户提供一些安装修改版本的方法,你就无法满足 6(b) 的要求。但是,您只需要满足第 6 节子标题中的一个,并且 a、c 和 d 部分是通常的 GPL“附带/书面提供/等效访问”源代码选项。这些被进一步扩展以允许您可以将作品的非派生、非库部分作为目标代码提供,尽管这肯定不是 FSF 的偏好。
所以是的,你可以在 GPLv3 条款下使用它。但是如果你愿意满足完整的 GPLv3 要求,我真的不明白满足 LGPLv2.1 有什么问题。
几年前,我与 Digia 就 Qt for Embedded 设备进行了联系。
这是他们对我关于使用 LGPL 的问题的回答:
通常,只要您能够遵守 LGPL 的所有要求和义务,就可以在商业环境中使用 Qt 的 LGPL 版本(无需共享源代码)。但是,如果您正在考虑使用 LGPL,我建议您与法律顾问讨论这个问题,因为它是一份复杂的许可文件,法律顾问将能够更好地根据您的实际使用情况提供具体建议。
需要考虑的一些问题是:
请记住,一旦做出许可决定并开始使用 LGPL,您将无法转回商业许可。
商业许可证提供最高程度的灵活性,还包括 12 个月的支持和升级。