Qt LGPL许可证例外是什么?

3
我正在使用 Qt/Mfc Migration Framework开始将一些UI代码从MFC转换为Qt。我想知道是否必须将Qt迁移代码保留在单独的库中,或者是否可能将其包含在我的项目中。为了做到这一点,我需要稍微修改它(例如添加#include“stdafx.h”并更改一些其他包含路径)。用于迁移框架的Qt LGPL异常如下所示:

诺基亚Qt LGPL例外版本1.0

作为GNU Lesser General Public License版本2.1的特殊例外, 使用库的“工作”的目标代码形式可以合并来自库的头文件的材料。 您可以根据您的选择分发此类目标代码,前提是合并的材料(i)不超过 库的总大小的5%; (ii)仅限于数字参数,数据结构布局,访问器,宏, 内联函数和模板。

我会触发许可证吗,还是仍然符合规定?

3
我投票关闭此问题,因为在 Stack Overflow 上讨论许可证建议是不相关的话题。您可以尝试在 Programmers Stack Exchange 上获得帮助,但在继续之前,请仔细阅读他们的 faq。 - durron597
我投票关闭此问题,因为它涉及许可和法律问题,与编程或软件开发无关。有关详细信息,请参见此处,并查看有关主题的帮助页面。 - Pang
2个回答

4
要么我误解了你想做什么,要么你显然不被允许这样做。你说你想“将Qt代码包含在我的项目中”,这意味着你想把他们的整个库(或你使用的所有部分)链接到你自己的模块中,而不是保留在一个单独的DLL中。但条款说你可以“将材料从头文件中合并”(我强调的是)而不是主库。它们说“只要合并的材料(i)不超过库总大小的5%”,而不是整个库。它们说“仅限于数字参数、数据结构布局、访问器、宏、内联函数和模板”,而不是任何主要代码库。对我来说似乎非常明显,但我是否误解了什么?

嗯,我只是在谈论MFC/Qt迁移代码,大约有8个文件。但我想你说得还是对的。它们不仅仅是头文件,我认为它们也不仅限于数值参数等。 - drby
“LGPL”允许您修改头文件,而例外情况“版本1.0”允许您使用“内联函数和模板”,因此,您可以将“5%”内联到头文件中,并动态链接到其余部分(如果还有其他内容)。但不幸的是,他们在例外情况的“版本1.1”中修复了这个问题,太糟糕了(但您可以像我一样:坚持使用旧的库源和许可证,然后手动更新所需的任何内容)。 - Top-Master

1
任何Qt解决方案的组件,如果您想在LGPL条款下使用它,都必须构建为DLL。无论您是否对其进行修改都没有关系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接