【问题标题】:Qt multi-licensing: also GPL? [closed]Qt 多许可:也是 GPL? [关闭]
【发布时间】:2013-09-02 15:26:59
【问题描述】:

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 会更好。]

【问题讨论】:

标签: qt embedded gpl lgpl


【解决方案1】:

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 有什么问题。

【讨论】:

  • 这是正确的,§3 正是 LGPL 可升级性的意义所在。此外,每个 Qt 文件的标题中都有三个许可证:商业、LGPL2.1、GPL3.0。配置 Qt 时,您可以选择可以接受的许可证。
  • 老实说,我有点困惑。所以让我做一个真实的场景。一家公司希望销售带有最终用户无法覆盖的闪存的盒装嵌入式系统。这样的公司在这些系统中使用 Qt 的 LGPL 版本是否合法?用户将无权访问文件系统,因此他将无法更改其上的 Qt 库。关于“较新版本”,确实没有写在许可证上。但是,它写在维基百科页面上:en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
  • 你说得对。即使您的设备包含一些 GPL 二进制文件,您也必须让用户可以更改这些二进制文件。来自 GPL 合规性实用指南“如果您发布固件(内核加文件系统),并且文件系统包含 GPL 程序的二进制文件,那么您应该提供启用所需的任何内容一个相当熟练的用户来构建任何给定的 GPL 源程序(及其修改版本),并替换文件系统中给定的二进制文件。如果内核是 Linux,那么用户必须有对内核执行相同操作的指令。 "
【解决方案2】:

几年前,我与 Digia 就 Qt for Embedded 设备进行了联系。

这是他们对我使用 LGPL 问题的回答:

一般情况下,可以在商业环境中使用 Qt 的 LGPL 版本(无需共享源代码),前提是您可以遵守 LGPL 的所有要求和义务。 但是,如果您正在考虑使用 LGPL,我建议您与法律顾问讨论,因为它是一份复杂的许可文件,法律顾问将能够更好地根据您的实际使用情况提供具体建议。

需要考虑的一些问题是:

  • 动态链接与静态链接
  • 更改 Qt 框架,如果您打算修改 Qt,您是否希望您的竞争对手能够访问这些更改?
  • 与专有应用程序接口
  • 满足您分发所在司法管辖区的版权法
  • 将 Qt 用于嵌入式设备时 - 请注意,您需要让最终用户能够在设备中重新运行他们修改后的 Qt 库。

请记住,一旦做出许可决定并开始使用 LGPL,您就无法转回商业许可。

商业许可证提供最高程度的灵活性,还包括 12 个月的支持和升级。

【讨论】:

  • 感谢您的反馈。关于“您需要让最终用户能够在设备内重新运行他们修改后的 Qt 库”,这在 LGPL 许可证上不是很清楚。许可证解释说——从软件的角度来看——最终用户必须能够重新链接软件。但是,当软件允许但物理条件(例如,只读或受保护的存储器)阻止时会发生什么?
  • 那你不能使用 LGPL,这是我们的法律部门提出的,然后我们决定不使用 LGPL,因为我们的设备不允许用户更改任何内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-03
  • 1970-01-01
  • 2011-08-10
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多