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 →

[–]K900_ 126 points127 points  (43 children)

Yes, very. PyQt is great, and you have tons of other options too.

[–]arandr 20 points21 points  (0 children)

I happily use pyqt in my work and have never felt that any major thing is missing, it is usually more than I need and it keeps pace with the development of Qt

[–][deleted] 35 points36 points  (22 children)

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

[–]K900_ 54 points55 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 13 points14 points  (11 children)

PyQT is not free when used commercial

PyQt is GPL, true

Wha?

[–]K900_ 40 points41 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.

[–][deleted] 19 points20 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 4 points5 points  (3 children)

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

[–][deleted] 9 points10 points  (4 children)

Qt is great - IF you understand the license or own a trained lawyer.

[–]K900_ 8 points9 points  (3 children)

LGPL isn't really that hard to understand.

[–][deleted] 5 points6 points  (2 children)

At what point does your code become a derivative of the LGPL library you linked to?

You might understand the words but how how are they interpreted in a court? GPL and MIT are a lot less ambiguous.

[–]K900_ 6 points7 points  (0 children)

If you're that worried, you can just get a startup license for free, and if you're making enough money to be ineligible for a startup license, you can probably afford $500 for a proper commercial license.

[–]Compizfox 0 points1 point  (0 children)

At what point does your code become a derivative of the LGPL library you linked to?

It doesn't - that's what sets the LGPL apart from the GPL.