如何在LGPL下的商业产品中使用Qt时允许私人修改

时间:2015-07-08 09:10:13

标签: c++ qt licensing dynamic-linking

我正在考虑构建一个动态链接到Qt库的闭源应用程序。目标平台将是Linux和Windows。为了履行LGPL的义务:

  

"您的应用程序的用户必须能够将您的应用程序与Qt库的不同或修改版本重新链接。 (Qt faq)。

我很难理解为实现这一目标所必需的技术。特别是没有发布源代码。

  1. 用户可以在哪些条件下使用自己的修改版本替换应用程序附带的.so / .dll文件?

  2. 这有可能吗?因为同样的问题是libstdc++ faq状态:

      

    LGPL要求用户能够用修改后的版本替换LGPL代码;如果有问题的库是C共享库,这是微不足道的。但是没有办法让C ++工作,其中大部分库由内联函数和模板组成,这些函数和模板在使用库的代码中扩展。因此,为了允许人们替换库代码,使用该库的人必须分发他们自己的源,使LGPL等同于GPL。

  3. 谢谢!

    修改第二个问题由LGPL version 3第3部分阐明。有用的参考:old version常见问题Eigen讨论此问题及其{ {3}}关于它。

1 个答案:

答案 0 :(得分:1)

在实践中,人们通常会链接到共享库Qt;所以稍微升级Qt - 只要一些常见的API仍然存在,是可能的。高级用户原则上可以调整Qt库(从您正在使用的版本的源代码开始)以满足他的需要(例如,纠正顽皮的bug,特别是不触及任何Qt头文件)。当然要提供所有细节来帮助他(至少提一下你要链接的Qt的版本)。

原则上,正如您所注意到的,这可能还不够。只有审判和法官才能真正决定,所以问你的律师

当然,我不是律师。

顺便说一下,您是否考虑过要求您的经理或客户(或法律责任人)以free software的身份发布您的代码并将其发布(例如GPLv3+下的github下)?在我的偏见中,这将是最好的解决方案!