【问题标题】:Qt LGPL license exception? [closed]Qt LGPL 许可例外? [关闭]
【发布时间】:2009-08-31 11:02:35
【问题描述】:

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

诺基亚 Qt LGPL 异常版本 1.0

作为 GNU 宽通用公共许可证的一个特殊例外 2.1版,“使用图书馆的作品”的目标代码形式 可以包含来自头文件的材料,该头文件是 图书馆。您可以根据您的条款分发此类目标代码 选择,只要掺入的材料 (i) 不超过 超过图书馆总规模的 5%; (ii) 限于 数值参数,数据结构布局,访问器,宏, 内联函数和模板。

我会触发许可证还是我仍然处于绿色状态?

【问题讨论】:

标签: qt licensing lgpl


【解决方案1】:

要么我误解了你想做什么,要么你显然不被允许这样做。

您说您想“在我的项目中包含 Qt 代码”,这意味着您想将他们的整个库(或您正在使用的所有部分)链接到您自己的模块中,而不是将其保存在单独的 DLL。

但条款说您可以“合并来自头文件的材料”(我的重点)而不是主库。

他们说“只要合并的材料 (i) 不超过图书馆总大小的 5%”,不是整个图书馆。

他们说“仅限于数值参数、数据结构布局、访问器、宏、内联函数和模板”,库的任何主要代码。

对我来说似乎很明显,但我误解了什么吗?

【讨论】:

  • 嗯,我只是说MFC/Qt迁移代码,好像8个文件。但我想你仍然是对的。它们不仅仅是头文件,我想它们不限于数字参数等。
  • LGPL 允许您修改标头,而版本1.0 例外允许您使用inline functions and templates,因此,您可以将5% 内联到标头中并动态链接到剩余的内容(如果使用其他任何内容)。 但不幸的是,他们在版本 1.1 中修复了这个异常,太糟糕了(但你可以像我一样:坚持旧的 lib-sources 和许可证,然后更新任何内容需要手动)。
【解决方案2】:

如果您想在 LGPL 条款下使用 Qt 解决方案的任何组件,则必须将其构建为 DLL。修改不修改都无所谓。

【讨论】:

    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    相关资源
    最近更新 更多