0

我目前正在评估在商业应用程序中使用 PyQt,我很惊讶地发现 PyQt 商业许可证不允许您在应用程序的脚本 API 中公开任何 PyQt 库。从PyQt 网站

与您的应用程序一起分发所需的 PyQt 模块和 QScintilla 库的权利,只要这些应用程序的用户自己不能直接访问 PyQt。否则,这些用户自己就会成为开发人员,并且需要他们自己的 PyQt 和 Qt 商业版本的副本。

这是因为如果他们允许访问 PyQt,您实际上会在 PyQt 商业许可证中存在“漏洞”吗?我想,这个条款填补了这个漏洞。我想知道 GPL 和相关许可证中是否必须有类似的条款?否则,当然,您将能够在开源许可证下发布应用程序,该许可证本质上只不过是一个“外壳”应用程序,它允许人们“编写”其行为 - 所说的行为是创建第二个,非使用 GPL PyQt 绑定的 GPL 应用程序。

我毫不怀疑这个“漏洞”在 GPL 中得到了解决,它一定有很多有才华的律师用细齿梳来检查它。- 真的,我正在尝试更多地了解法律如何影响程序员的生活。GPL 和其他开源许可证似乎是一个不错的起点。


此外,在 LGPL 下发布的同一系统会不会有类似的问题?或者该许可证更宽松的性质是否意味着允许用户通过应用程序访问库时不会发生太多冲突?

4

3 回答 3

0

“商业软件”是指您可以销售的软件,包括免费的 GPL 软件。pyqt 家伙使用“商业”的方式具有误导性。

您可以在 GPL 下使用该库并收取费用,只要您在 GPL 兼容许可下提供程序代码即可。我不知道他们有什么条款——甚至根本不知道非自由的可选许可证——但它与 GPL 无关。pyqt 的人所做的与 GPL完全相反:禁止你用你支付的代码做你想做的事。

请注意,GPL 不是“开源”许可证,而是“自由软件”许可证。他们是两个截然不同的群体,有着不同的想法。您可以在http://www.gnu.org/philosophy/free-software-for-freedom.html#relationship阅读有关内容

于 2009-07-20T12:18:36.340 回答
0

将要,

如果您正在编写具有 Python 脚本功能的 Qt 应用程序,那么您可以:

1) 允许通过 PyQt 在脚本上使用 Qt。这需要每个用户有一个 PyQt 许可证。也许您可以将其作为额外的费用提供,并将成本转移给需要它的用户。

2) 公开(使用 sip 或 swig)应用程序中与 PyQt 无关的部分

3) 为 Qt 创建您自己的界面(或者,至少,您要公开的部分)。

4) 等待 LGPL 版本。不幸的是,目前的情况是“不是现在”: http ://www.riverbankcomputing.com/pipermail/pyqt/20​​09-May/022931.html

于 2009-07-31T21:43:41.310 回答
-1

首先:律师统治世界,你永远不会忘记它。

其次,伊纳尔

GPL 做同样的事情:如果您编写一些代码并在 GPL 下发布,那么所有派生的工作也必须是 GPL。这被称为 GPL 的“病毒性质”。R. Stallman 特别添加了这一点,以保护 GPL 开发人员的工作。您可以出售GPL 代码,但必须始终包含源代码。您可以更改它并出售结果,但同样,您必须包括原始代码您的修改的源代码。

在 PyQt 的情况下,这完全一样:我可以创建一个小应用程序,它只调用QApplication._exec()并将“脚本”留给“用户”,因此只需支付一个许可证。

于 2009-07-20T10:35:45.427 回答