Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我是否可以使用Qt LGPL许可证,并且不受任何限制地销售我的应用程序?_C++_Qt_Licensing - Fatal编程技术网

C++ 我是否可以使用Qt LGPL许可证,并且不受任何限制地销售我的应用程序?

C++ 我是否可以使用Qt LGPL许可证,并且不受任何限制地销售我的应用程序?,c++,qt,licensing,C++,Qt,Licensing,我想开始一个跨平台的项目。我有我的研究,现在我几乎可以肯定Qt是正确的交易。然而,这里有一个很大的障碍:许可 我想卖掉我的项目,我也不想透露任何与我的工作相关的信息,也不想为许可证付费。我检查并注意到Qt同时提供商业和开源解决方案。我听到了太多关于Qt许可证的相互矛盾的说法,这让我很困惑。有人说,即使我使用Qt的LGPL版本,我仍然需要提交代码。这是真的吗 有人能给我一个关于Qt许可证的简单解释,并告诉我我是否可以不受任何限制地销售我的应用程序?有没有人能告诉我,在跨平台开发中,没有任何限制的情

我想开始一个跨平台的项目。我有我的研究,现在我几乎可以肯定Qt是正确的交易。然而,这里有一个很大的障碍:许可

我想卖掉我的项目,我也不想透露任何与我的工作相关的信息,也不想为许可证付费。我检查并注意到Qt同时提供商业和开源解决方案。我听到了太多关于Qt许可证的相互矛盾的说法,这让我很困惑。有人说,即使我使用Qt的LGPL版本,我仍然需要提交代码。这是真的吗


有人能给我一个关于Qt许可证的简单解释,并告诉我我是否可以不受任何限制地销售我的应用程序?有没有人能告诉我,在跨平台开发中,没有任何限制的情况下,Qt还有其他等价物?

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

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

LGPL的思想是最终用户必须能够用他们想要的版本替换LGPL库。动态链接到LGPL库可以让您做到这一点,静态链接和分发对象文件也是如此。只要你这么做,你就可以随心所欲地出售你的封闭源码程序


当然,LGPL的内容不止这些,但这是相关的部分。

这个问题归结为法律问题。不幸的是,这些都离题了。我在这个问题上左右为难,在许可证问题上没有争吵!他们是如何被对待的,以及他们在开发过程中对我的影响。所以我认为问这样一个问题是很好的。我不是在寻求任何关于商业化或LGPL的建议,我只需要一些关于许可证制度本身的澄清。因此,如果你能就这个问题进一步澄清,我将不胜感激。然后来Meta。询问你的表述是否与主题有关,是否可以重新讨论。它需要一个版主或者5个有足够特权的人来重新打开它。只要在那里提出一个友好的问题,社区就会看一看。Meta非常棒,只要你不真正关心你的Meta代表。投票在那里更自由。LGPL还要求你“不要限制对组合工作中包含的库的部分进行修改,并进行反向工程以调试这些修改。”这可能与一些商业EULA“禁止逆向工程”相冲突。@Hossein你读过答案了吗?这与您的代码无关。Qt的LGPL许可证仅与Qt和Qt相关,因此您可以按照自己的喜好对代码进行打包和许可,但除非您计划购买Qt商业许可证,否则您必须动态链接到Qt。Qt的商业许可证适用于您希望修改Qt的源代码,而不向公众发布您所做的更改的情况。@Hossein:只要您动态链接到Qt。老实说,你应该找个律师。在进行商业冒险之前,你应该和一个人谈谈。和FWIW,IANAL。@Hossein,用户应该能够进行逆向工程并完全替换Qt本身。然而,这意味着您不应该禁止反向工程。您必须将Qt作为DLL分发。。。。作为奖励,你的应用程序的对象文件(不是强制性的)。如果你关心你的对象文件,那么你也应该关心你的EXE!因为对于一个知道如何使用对象文件的人来说,他也知道什么是EXE!这些人往往关心低级的东西,他们知道的远比我们多。对于他们来说,即使您的EXE对您来说也可能像您的源代码一样可读:P@ППъППъППъъПППъСъ是的,在使用LGPL库时,逆向工程是一个真正需要考虑的问题。然而,对可执行文件进行逆向工程通常比对一堆对象文件进行逆向工程要困难得多(也就是说,因为可执行文件通常是剥离的,并且应用了链接时间优化和内联等)。但你是绝对正确的:如果你不小心如何构建可执行文件,那么逆向工程可能和所有对象文件一样容易。