我可以在没有 PyQt 许可证的情况下出售我的 PyQt4 应用程序吗?

use*_*975 21 license qt application-development

我想出售一个使用 PyQt4 的 Python 应用程序。Qt PyQt 的商业许可证总共花费数千欧元。我需要购买商业许可证吗?

从“打包”的角度考虑这一点,我通过软件中心提供了一个 Ubuntu 包。我的包将“依赖”于现有的 Ubuntu Python 和 PyQt 包,所以我是否需要许可 Ubuntu 正在重新分发的东西,我不是直接的?

相反,如果我确实在我的包中包含了 GPL/LGPL Python 库,我的包是否能够保持非免费?我不能让 GPL 库的源代码可用(如果修改)吗?


如果答案是“您需要商业许可证”,是否有您知道的更便宜的替代方案(例如基于版税的付款而不是前期开发人员费用)?

Eli*_*gan 21

我不是律师,这不是法律建议。这篇文章是关于你有哪些选择,所以它是一个研究工具,旨在与其他研究工具一起使用。即使与其他研究工具结合使用,这也不能替代就您需要正确答案的任何法律问题咨询律师。

Qt(不是PyQt)的许可选项之一是 LGPL 2.1,它允许您分发使用 Qt 库的专有程序前提是您遵守 LGPL 2.1 的所有条款

然而,PyQt 目前只有两个许可选项(除非你与它的开发人员协商其他事情,这通常是不切实际的)。它在GPL下可用——然后分发你的程序它必须是免费的开源软件;更具体地说,您提供给他人并使用 PyQt 库的任何程序版本也必须在 GPL 下获得许可。

对于使用 PyQt 的程序,GPL 的唯一替代方案是支付商业许可费用。正如您所指出的,这通常非常昂贵(尽管对于某些应用程序来说这是一笔划算的交易)。

如果您的目标是在使用 Qt 的 Python 中编写与GPL 不兼容的程序,您可能需要考虑PySide与 PyQt 一样,PySide 是 Qt 的 Python 绑定,它允许您编写使用 Qt 的 Python 程序。与 PyQt 不同,PySide 在 LGPL 下可用(就像 Qt 本身一样),因此只要您仔细阅读并遵守 LGPL 的条款,专有程序就可以使用PySide

有时,PyQt 比 PySide 具有显着优势。通常,它不会。还有一个你可能更喜欢使用的主观元素;不同的程序员有不同的偏好。有关更多信息,请参阅PySide 和 PyQt 之间的差异


Oli*_*Oli 6

简而言之:如果您不了解所用软件的许可条款,不足以解释您所建议的内容是否“可以”,您需要咨询了解该软件的专业人士。如果您想直接与许可证所有者达成协议,那也可以,但您仍然需要了解许可的工作原理。


和 Eliah 一样,我也不是律师,当你因为听从我的建议而被起诉时,你不能说我没有警告你。我大体上同意 Eliah,但我认为在这种情况下,Python 有点不同。

GPL 软件允许您重新分发某些内容,只要您在相同的许可下提供它。在这种情况下,您将重新分发您可以执行的 PyQT。您还将分发您的产品。我个人不明白为什么只要您为您正在使用的 GPL 事物提供可用的源代码,您就不能同时做到这两点。您没有将它们集成到您的 Python 中,您只是在使用它们。

为了进一步描述我在说什么,如果您在 C 项目中包含一个库并将其编译下来,那么您最终会在二进制文件中生成 GPL 代码,或者您将创建您的代码链接到的静态库(静态或动态)。如果您重新分发受保护的代码,FSF 将要求您通过 GPL 提供您的代码。

看到不同?Python 的基于文本的分发意味着链接非常动态:没有到 GPL 代码的静态“链接”,并且可以在不同的环境中替换对 PyQT 的引用。你只是在使用它的 API。

如果您搜索“python import gpl”,您会发现来自许多非律师的许多双向论据。这不是一个简单的论点,如果它真的打官司,你可以肯定的是,替补席上自由软件方面的每个人都会全力以赴,以确保树立一个负面的先例。

所以再一次,你可能没有资格单独做出这个决定。要么和律师谈谈,要么看看你会花多少钱,然后计算出只支付商业许可证的费用会更便宜。

忽略许可的成本会高得多。

  • «你没有将它们集成到你的 Python 中,你只是在使用它们» 如果你导入 GPL 的 Python 模块,整个事情就变成了 GPL。 (2认同)