LGPL 下的 Qt:如何分发对 Qt 源代码的更改?

Posted

技术标签:

【中文标题】LGPL 下的 Qt:如何分发对 Qt 源代码的更改?【英文标题】:Qt Under LGPL: How to distribute changes to Qt source code? 【发布时间】:2012-06-01 14:39:44 【问题描述】:

我们已经在 LGPL 下使用 Qt 开发了一个商业 Qt 应用程序。我们动态链接。我们还对 Qt 中的几个文件进行了一些更改,以更好地满足我们的需求。我意识到根据 LGPL,我必须公开这些更改。

我的问题是这是怎么做到的?

    我是否在我的域上设置了一个网页,其中包含可供下载的修改后的源代码? 我是否在安装后将修改后的源代码分发到客户端目标计算机上的文件夹中? 另一个 方式?

【问题讨论】:

【参考方案1】:

您只需根据要求提供它们即可。

它可以是您网络服务器上的一个文件,也可以只是通过电子邮件将它们发送给任何询问的人,您甚至可以将它们提供在软盘上并收费。

理想情况下,如果它是对其他人有用的错误修复或功能,您也可以将更改回馈给 Qt,然后它可能会被合并到未来的版本中,然后您就可以使用标准构建。

ps。 GPL 的信中说您必须提供创建修改后的构建所需的一切 - 所以完整的 Qt 源代码和构建文件。但是对于像 Qt 这样的大型复杂项目,如果您只修改了几个文件,那么提供这些文件的下载(甚至是针对特定 Qt 版本的差异)会很有用

【讨论】:

我是否必须主动宣传我对 Qt 进行了更改?用户如何知道我的 Web 服务器上的此页面提供下载对 Qt 的更改? 在随您的应用程序分发的许可文件中,您只需说此应用程序使用了在 LGPL 下发布的修改后的 Qt 以及您想要源代码的任何人的联系方式。 您也可以在 gitorious.org 上进行克隆并将您的更改放在那里。如果他们普遍感兴趣,您甚至可能希望将它们合并到主 Qt(这会减轻您的维护负担) 哦,所以我必须包含 LGPL 的文本并在那里添加关于我的更改的 cmets? 请参阅gnu.org/licenses/gpl-howto.html,尽管您还应该为您的应用提供许可证文件,明确说明它只是 Qt 部分是 LGPL【参考方案2】:

根据您需要将更改提供给社区的许可,而不仅仅是您的客户。

最简单的方法是在http://qt.gitorious.org/qt 上分叉主 Qt 存储库并在那里提交您的更改。

【讨论】:

以上是关于LGPL 下的 Qt:如何分发对 Qt 源代码的更改?的主要内容,如果未能解决你的问题,请参考以下文章

Qt 4.5发布(最大的变动是换用LGPL许可证,移植进了苹果的Cocoa框架。之前的Qt只支持Carbon框架,现在的Qt 4.5两者都支持。单一源代码创建出支持32位或64位字节的Intel或Po

如何使用正确分发的发行版 pdb 文件构建 Qt5

缺少 Qt SSL 支持

转Qt 事件处理机制 (下篇)

如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以分发?

公司使用 Qt 到底要不要付费?