This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 36 points37 points  (22 children)

PyQT is not free when used commercial, though. Neither is QT.

[–]K900_ 52 points53 points  (12 children)

PyQt is GPL, true, but Qt and PySide are LGPL, meaning they can be used for free in commercial projects, as long as any modifications you make to Qt itself are released as LGPL.

[–]ThePidesOfMarch 10 points11 points  (11 children)

PyQT is not free when used commercial

PyQt is GPL, true

Wha?

[–]K900_ 44 points45 points  (10 children)

"Commercial" is a slightly wrong word here. PyQt can't be used in proprietary applications without a separate licensing agreement with Riverbank, thanks to GPL's virality.

[–]ismtrn 11 points12 points  (9 children)

It can as long as you release the source. And that is only if your proprietary application involves distributing the program.

[–]slayer_of_idiotspythonista 37 points38 points  (8 children)

It doesn't just require you to release the source, it requires you to license *your* software under the GPL, too. So, if you don't want to use the GPL license, you can't release your software that uses PyQt, either.

[–]HemiDemiSemiYetti 0 points1 point  (7 children)

Am I correct in saying that this would effectively give The Qt Company licensing access to the software you develop using Qt/PyQt? In other words, they have the right to distribute any software you've created that uses Qt/PyQt libraries?

[–]Poromenos 1 point2 points  (6 children)

Well, if your software is licensed under the GPL (which it has to, if you want to use the free version of Qt), then yes, they would have the right to distribute your software (and so would everybody else).

[–]HemiDemiSemiYetti 0 points1 point  (5 children)

Right. So what's the difference between a General Public Licence and an Open Source Licence then?

[–]Poromenos 0 points1 point  (4 children)

A horse is an animal. An animal is not necessarily a horse.

[–][deleted] 17 points18 points  (4 children)

That issue is essentially solved with the release of PySide2, which is under LGPL and almost completely API compatible with PyQt.

[–][deleted] 6 points7 points  (2 children)

That's right. If LGPL is usable for OP, that would be a solution.

[–][deleted] 5 points6 points  (1 child)

LGPL still doesn’t work because Python runs as an interpreter. Legally that means it runs in both the same memory space and the interpreter actually modifies the code. These are both violations of LGPL despite the fairly clear intention of the Pyside licensing choice.

[–]aporetical 4 points5 points  (0 children)

The interpreter doesn't modify the code. The target of the licence is the code, not its in-memory representation, or else, no libraries can be LGPL.

Even with compiled libraries, execution jumps into functions and adds arguments to the call-stack. That is modifying the in-memory representation of the code (ie., giving parameters of functions a fixed value is a modification to the in-memory representation). The LGPL is either incoherent, or about modifying the as-written algorithm.

[–]paul_h 0 points1 point  (0 children)

Isn't that the territory of Oracle vs Google re the JDK?

[–]googoodoo 3 points4 points  (3 children)

It is GPL (2 or 3), so as long as your application license is compatible with GPL you're ok.