我可以使用Qt LGPL许可证并出售我的应用程序而没有任何限制吗?[关闭]


85

我想启动一个跨平台项目。我做了研究,现在我几乎可以肯定Qt是正确的选择。但是这里有一个很大的障碍:许可

我想出售自己的项目,也不想透露任何与我的工作相关的资源或支付许可证费用。我检查并发现Qt提供商业和开源解决方案。我听过太多关于Qt许可的矛盾说法,这让我很困惑。有人说,即使我使用LGPL版本的Qt,我仍然需要提交我的代码。这是真的?

有人可以给我关于Qt许可证的简单说明,并告诉我是否可以不受任何限制地出售我的应用程序吗?有人会告诉我Qt在跨平台开发方面是否有其他等效形式吗?


5
这个问题归结为法律问题。不幸的是,这些都在SO之外。
巴特2012年

1
我在这个问题上感到两难,在许可本身上没有争执!以及如何对待它们,以及它们在开发过程中如何影响我。所以我认为问这样一个问题是完全可以的。
丽卡2012年

1
我没有寻求任何有关商业化或LGPL的建议,我只需要对许可系统本身进行一些澄清。因此,如果您对此问题进行进一步的澄清,我将不胜感激。
丽卡2012年

1
然后来到Meta。询问是否与您的配方有关,这个问题是关于主题的,可以重新讨论。它需要主持人或具有足够特权的5个人来重新打开它。只需在此处提出一个友好的问题,社区便会看到。meta.stackoverflow.com
巴特

1
只要您不真正在乎Meta代表,Meta就很棒。那里的投票更加自由。
rlemon 2012年

Answers:


100

只需动态链接到Qt。如果您动态链接到LGPL库,则无需担心。

如果您静态链接到它们,则只需分发目标文件(而不是源代码),就可以了。

LGPL的想法是,最终用户必须能够用他们想要的版本替换LGPL库。动态链接到LGPL库可让您做到这一点,静态链接和分发目标文件也是如此。只要您这样做,就可以出售自己想要的所有封闭源程序。

当然,LGPL不仅限于此,而是相关的部分。


6
LGPL还要求您“不要限制组合库和逆向工程中包含的库部分的修改,以调试此类修改,”这可能与某些商业EULA对逆向工程的禁止相冲突。
乔什·凯利

15
@侯赛因,你甚至读了答案吗?这与您的代码无关。Qt的LGPL许可证仅与Qt和Qt相关,因此您可以打包代码并按自己的意愿对其进行许可,但是除非计划购买Qt商业许可证,否则必须动态链接到Qt。Qt的商业许可证适用于您希望修改Qt的源代码,而不是公开发布您所做的更改的情况。
cmannett85

1
@侯赛因:而且,只要您动态链接到Qt。老实说,您应该只请一名律师。从事商业活动之前,您应该始终与他人交谈。还有FWIW,IANAL。
Cornstalks 2012年

2
@Hossein,用户应该能够进行反向工程并完全替换Qt本身。但是,这意味着您不应禁止逆向工程。您必须将Qt作为DLL分发。如果您关心目标文件,则还应该关心EXE!因为对于一个知道如何使用目标文件的人来说,他还知道什么是EXE!这些人倾向于关心低级的东西,他们比我们了解得多。对于他们来说,甚至是你的EXE可以是可读的源代码给你:P
ПетърПетров

1
@ПетърПетров是的,使用LGPL库时,逆向工程是一个真正的问题。但是,可执行文件通常比一堆目标文件难于逆向工程(即,因为可执行文件通常被剥离,具有链接时间优化和内联功能,等等)。但是,您绝对是对的:如果您对生成可执行文件的方式不小心,那么反向工程与所有目标文件一样容易。
Cornstalks 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.