Puis-je vendre mon application PyQt4 sans avoir de licence PyQt?

18

Je voudrais vendre une application Python qui utilise PyQt4. Les licences commerciales de Qt PyQt coûtent des milliers d'euros ensemble. Dois-je acheter une licence commerciale?

Considérez ceci d'un point de vue «packagé» où je fournis un package Ubuntu via le Software Center. Mon package "dépendrait" des packages Ubuntu Python et PyQt existants, aurais-je donc besoin d'une licence qu'Ubuntu redistribue, que je ne suis pas directement?

Inversement, si j'incluais une bibliothèque Python GPL / LGPL dans mon package, mon package pourrait-il rester non libre? Ne pourrais-je pas simplement rendre la source des bibliothèques GPL disponible (si elle est modifiée)?


Si la réponse est "Vous avez besoin d'une licence commerciale", existe-t-il des alternatives moins chères que vous connaissez (comme des paiements basés sur des redevances au lieu de frais de développement initiaux)?

user2366975
la source
5
J'ai édité cela pour parler explicitement d'Ubuntu afin que nous puissions mettre toutes ces poignées de main derrière nous et répondre aux questions des gens. J'ai purgé le débat des commentaires et j'ai rouvert la question.
Oli
Notez que cette question concerne PyQt4 qui est disponible sous les deux GPL GNU. Le PyQt5 le plus récent est uniquement GNU GPLv3. La différenciation technique très appropriée au sujet de la "liaison" de code s'applique moins là (= moins adapté pour un emballage commercial).
mario

Réponses:

18

Je ne suis pas avocat et ce n'est pas un conseil juridique. Cet article traite des options dont vous disposez, il s'agit donc d'un outil de recherche, destiné à être utilisé avec d'autres outils de recherche. Même en combinaison avec d'autres outils de recherche, cela ne remplace pas la consultation d'un avocat pour toute question juridique pour laquelle vous avez besoin d'une réponse appropriée.

L'une des options de licence pour Qt ( pas PyQt ) est la LGPL 2.1 , qui vous permet de distribuer des programmes propriétaires qui utilisent la bibliothèque Qt à condition que vous respectiez tous les termes de la LGPL 2.1 .

PyQt, cependant, n'a actuellement que deux options de licence (sauf si vous négociez quelque chose d'autre avec ses développeurs, ce qui ne serait généralement pas pratique). Il est disponible sous la GPL - pour distribuer votre programme, il faudrait que ce soit un logiciel libre et open source ; plus précisément, toute version de votre programme que vous proposez à d'autres et qui utilise la bibliothèque PyQt devrait également être sous licence GPL.

La seule alternative à la GPL, pour un programme qui utilise PyQt, est de payer une licence commerciale. Comme vous l'avez indiqué, cela coûte souvent trop cher (bien que pour certaines applications, c'est une bonne affaire).

Si votre objectif est d'écrire un programme incompatible avec la GPL en Python qui utilise Qt, vous pouvez envisager PySide . Comme PyQt, PySide est une liaison Python pour Qt, qui vous permet d'écrire des programmes Python qui utilisent Qt. Contrairement à PyQt, PySide est disponible sous la LGPL (comme Qt lui-même), et peut donc être utilisé par des programmes propriétaires à condition que vous lisiez attentivement et respectiez les termes de la LGPL.

Parfois, PyQt présente des avantages importants par rapport à PySide. Souvent, ce n'est pas le cas. Il existe également un élément de subjectivité que vous préférerez peut-être utiliser; différents programmeurs ont des préférences différentes. Pour plus d'informations, consultez Différences entre PySide et PyQt .

Eliah Kagan
la source
Les applications PyQt4 n'ont pas besoin d'être sous licence GPL. PyQt4 contient une exception GPL qui autorise spécifiquement certaines licences non GPL. Voir: riverbankcomputing.com/software/pyqt/license et github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT
Mario
1
@Mario Merci pour l'info! Mais je vous encourage à publier une réponse expliquant cela un peu plus, et clarifiant également comment cela s'applique au PO de cette question (qui semble vouloir distribuer un logiciel propriétaire basé sur PyQt). Voici pourquoi: riverbankcomputing.com/software/pyqt/license montre que PyQt peut être sous licence GPL (deux versions sont autorisées) ou une licence commerciale (deux variantes) où un développeur paie Riverbank pour le droit de distribuer un logiciel propriétaire basé sur PyQt.
Eliah Kagan
@Mario La correction clé de ma réponse semble être sur github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT , qui donne plus d'options. Mais aucun ne semble permettre de rendre le logiciel basé sur PyQt propriétaire - ce sont d'autres licences FOSS. En outre, il est une page officielle avec un lien vers ce fichier, ou d' autres informations pour préciser que ce vraiment est un document de licence officiel? (Je pense que c'est probablement le cas, mais je ne sais pas comment je le démontrerais à un PDG ou à une autre partie prenante.) Il est étrange que les options étendues ne soient pas mentionnées sur la première page de licence sur le site officiel de Riverbank.
Eliah Kagan
Puis-je faire le programme d' installation d'une application qui utilise PyQt5 sous licence GPL, mais avoir l'application qui est installée sous licence selon mes propres conditions?
Niklas R
1
Salut @EliahKagan! Qu'en est-il de PySide 2 , est-ce la même chose?
Francesco Pegoraro
5

Autrement dit: si vous ne comprenez pas les termes des licences du logiciel que vous utilisez suffisamment pour interpréter si ce que vous suggérez "est correct", vous devez parler à un professionnel qui le fait. Si vous souhaitez rechercher un accord directement avec les titulaires de licence, cela fonctionne aussi, mais vous devrez toujours comprendre comment fonctionne la licence.


Comme Eliah, je ne suis pas non plus avocat et lorsque vous êtes poursuivi pour avoir suivi mes conseils, vous ne pouvez pas dire que je ne vous ai pas prévenu. Je suis généralement d'accord avec Eliah mais je pense que dans ce cas, Python est un peu différent.

Le logiciel GPL vous permet de redistribuer quelque chose tant que vous le fournissez sous la même licence. Dans ce cas, vous redistribueriez PyQT, ce que vous pouvez faire. Vous distribueriez également votre produit. Personnellement, je ne vois pas pourquoi vous ne pouvez pas faire les deux tant que vous rendez la source disponible pour les choses GPL que vous utilisez. Vous ne les intégrez pas dans votre Python, vous les utilisez simplement.

Pour décrire plus en détail ce dont je parle, si vous incluiez une bibliothèque dans un projet C et que vous la compiliez, vous finiriez soit par le code GPL dans votre binaire, soit par la création de bibliothèques statiques auxquelles votre code serait lié ( statiquement ou dynamiquement). La FSF vous demandera de rendre votre code disponible par GPL si vous redistribuez son code protégé.

Regarde la différence? La distribution textuelle de Python signifie que la liaison est assez dynamique: il n'y a pas de "liens" statiques vers le code GPL et la référence à PyQT pourrait être remplacée dans un environnement différent. Vous utilisez simplement son API.

Si vous recherchez "python import gpl", vous trouverez de très nombreux arguments dans les deux sens provenant de très nombreux non-avocats. Ce n'est pas un argument simple et si cela venait à un procès, vous pouvez être sacrément sûr que tout le monde du côté des logiciels libres mettrait tout en œuvre pour s'assurer qu'un précédent négatif était établi.

Encore une fois, vous n'êtes probablement pas qualifié pour prendre cette décision seul. Parlez à un avocat ou regardez combien cela vous coûterait et faites en sorte qu'il soit moins cher de payer les licences commerciales.

Ignorer les licences coûtera beaucoup plus cher.

Oli
la source
2
«Vous ne les intégrez pas dans votre Python, vous les utilisez simplement» Si vous importez des modules Python GPL, le tout devient GPL.
Andrea Lazzarotto