Closed kiwi0fruit closed 6 years ago
but including that dependency does not implicate the GPL.
...
no copy of the PyQt source, so no distribution
...
the setup.py does make it so that pip will automatically download and install PyQt on your machine, if it's not already present. But that's fine; you -- and your downstream users -- could have just as easily manually installed it, and indeed Riverbank makes it available for you to download and install at any time... when pip installs it for you you're ultimately receiving Riverbank's own distribution of the source code, not someone else's, so the GPL still hasn't "infected" anything.
So having the PyQt dependency for package manager is fine because users actually download PyQt package that is provided to them not by app author but by Riverbank or Anaconda.
There happened a useful conversation on Reddit about publishing python apps that depend on PySide and MIT/BSD wrappers around PySide/PyQt like qtpy/pyqtgraph/matplotlib. Backup of the discussion.
According to that conversation there are concerns that using qtpy/pyqtgraph/matplotlib in the propriate app even with PySide backend may lead to GPL violation. The problems came from two points:
After all the discussion on Reddit the best way to solve the problem seems to do that upstream: make sure that there is a reliable switch in the qtpy/pyqtgraph/matplotlib modules that effectively and reliably turns the app that uses them (app as a whole) to something like:
Maybe such switch is already there - but this needs checking. It's also would be great to unify that interface among modules.
And also remove PyQt from their dependencies so that they do not auto-download PyQt (I guess most of them already behave this way).
UPD
Quote about PyQt deps that are in some MIT/BSD modules: