Kann ich meine PyQt4-App ohne PyQt-Lizenz verkaufen?

18

Ich möchte eine Python-Anwendung verkaufen, die PyQt4 verwendet. Die kommerziellen Lizenzen für Qt PyQt kosten zusammen Tausende von Euro. Muss ich eine kommerzielle Lizenz kaufen?

Betrachten Sie dies aus einer "gepackten" Sicht, in der ich ein Ubuntu-Paket über das Software Center bereitstelle. Mein Paket würde von vorhandenen Ubuntu Python- und PyQt-Paketen "abhängen". Muss ich also etwas lizenzieren, das Ubuntu neu verteilt, was ich nicht direkt bin?

Wenn ich dagegen eine GPL / LGPL-Python-Bibliothek in mein Paket aufnehmen würde, könnte mein Paket nicht frei bleiben? Könnte ich nicht einfach den Quellcode für die GPL-Bibliotheken zur Verfügung stellen (falls geändert)?


Wenn die Antwort "Sie benötigen eine kommerzielle Lizenz" lautet, gibt es dann billigere Alternativen, die Sie kennen (z. B. gebührenpflichtige Zahlungen anstelle von Vorab-Entwicklergebühren)?

user2366975
quelle
5
Ich habe dies bearbeitet, um explizit über Ubuntu zu sprechen, damit wir all diese Handgriffe hinter uns lassen und die Fragen der Leute beantworten können. Ich habe die Debatte aus den Kommentaren gestrichen und die Frage erneut geöffnet.
Oli
Beachten Sie, dass es sich bei dieser Frage um PyQt4 handelt, das unter beiden GNU GPLs verfügbar ist. Das neuere PyQt5 ist nur GNU GPLv3. Die sehr treffende technische Unterscheidung zum Code "Verknüpfen" trifft dort weniger zu (= weniger geeignet für kommerzielle Verpackungen).
Mario

Antworten:

18

Ich bin kein Anwalt und dies ist keine Rechtsberatung. In diesem Beitrag geht es darum, welche Optionen Sie haben. Es handelt sich also um ein Recherche-Tool, das zusammen mit anderen Recherche-Tools verwendet werden soll. Dies ist auch in Kombination mit anderen Recherche-Tools kein Ersatz für die Konsultation eines Anwalts in Rechtsangelegenheiten, in denen eine angemessene Antwort erforderlich ist.

Eine der Lizenzoptionen für Qt ( nicht PyQt ) ist die LGPL 2.1 , mit der Sie proprietäre Programme vertreiben können , die die Qt-Bibliothek verwenden, sofern Sie alle Bestimmungen der LGPL 2.1 einhalten .

PyQt hat derzeit jedoch nur zwei Lizenzoptionen (es sei denn, Sie verhandeln mit den Entwicklern etwas anderes, was normalerweise nicht praktikabel wäre). Es steht unter der GPL zur Verfügung. Um Ihr Programm zu verbreiten, muss es sich um kostenlose Open-Source-Software handeln . Insbesondere muss jede Version Ihres Programms, die Sie anderen anbieten und die PyQt-Bibliothek verwendet, ebenfalls unter der GPL lizenziert werden.

Die einzige Alternative zur GPL für ein Programm, das PyQt verwendet, ist die Bezahlung einer kommerziellen Lizenz. Wie Sie angedeutet haben, ist dies oft unerschwinglich teuer (obwohl es für einige Anwendungen ein gutes Geschäft ist).

Wenn Sie ein GPL-inkompatibles Programm in Python schreiben möchten , das Qt verwendet, sollten Sie PySide in Betracht ziehen . Wie PyQt ist PySide eine Python-Bindung für Qt, mit der Sie Python-Programme schreiben können, die Qt verwenden. Im Gegensatz zu PyQt steht PySide unter der LGPL (wie Qt selbst) zur Verfügung und kann daher von proprietären Programmen verwendet werden, sofern Sie die Bestimmungen der LGPL sorgfältig lesen und einhalten.

Manchmal hat PyQt erhebliche Vorteile gegenüber PySide. Oft ist es nicht. Es gibt auch ein subjektives Element, das Sie möglicherweise bevorzugen. Unterschiedliche Programmierer haben unterschiedliche Vorlieben. Weitere Informationen finden Sie unter Unterschiede zwischen PySide und PyQt .

Eliah Kagan
quelle
PyQt4-Anwendungen müssen nicht über eine GPL-Lizenz verfügen. PyQt4 enthält eine GPL-Ausnahme, die speziell bestimmte Nicht-GPL-Lizenzen zulässt. Siehe: riverbankcomputing.com/software/pyqt/license und github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT
Mario
1
@ Mario Danke für die Info! Ich möchte Sie jedoch ermutigen, eine Antwort zu veröffentlichen, in der Sie dies etwas näher erläutern und erläutern, wie dies auf das OP dieser Frage zutrifft (wer anscheinend proprietäre PyQt-basierte Software vertreiben möchte). Hier ist der Grund: riverbankcomputing.com/software/pyqt/license zeigt, dass PyQt unter der GPL (zwei Versionen sind zulässig) oder einer kommerziellen Lizenz (zwei Varianten) lizenziert werden kann, bei der ein Entwickler Riverbank das Recht zahlt, proprietäre PyQt-basierte Software zu vertreiben.
Eliah Kagan
@ Mario Die Schlüsselkorrektur für meine Antwort scheint bei github.com/Werkov/PyQt4/blob/master/GPL_EXCEPTION.TXT zu sein , was mehr Optionen bietet. Aber keine scheint es zu erlauben, PyQt-basierte Software proprietär zu machen - sie sind andere FOSS-Lizenzen. Gibt es auch eine offizielle Seite mit einem Link zu dieser Datei oder andere Informationen, die verdeutlichen, dass es sich wirklich um ein offizielles Lizenzdokument handelt? (Ich glaube, das ist am wahrscheinlichsten, aber ich bin mir nicht sicher, wie ich das einem CEO oder anderen Stakeholdern demonstrieren würde.) Es ist seltsam, dass die erweiterten Optionen dort nicht auf der ersten Lizenzierungsseite auf der offiziellen Riverbank-Website erwähnt werden.
Eliah Kagan
Kann ich das Installationsprogramm für eine Anwendung erstellen, die PyQt5 verwendet, das unter der GPL lizenziert ist, die installierte Anwendung jedoch unter meinen eigenen Bedingungen lizenziert ist?
Niklas R
1
Hi @EliahKagan! Was ist mit PySide 2 ? Gilt das auch?
Francesco Pegoraro
5

Einfach ausgedrückt: Wenn Sie die Bedingungen der Lizenzen der Software nicht verstehen, die Sie verwenden, um zu interpretieren, ob das, was Sie vorschlagen, "in Ordnung" ist, müssen Sie mit einem Fachmann sprechen, der dies tut. Wenn Sie sich direkt an die Lizenzinhaber wenden möchten , funktioniert dies ebenfalls. Sie müssen jedoch noch wissen, wie die Lizenzierung funktioniert.


Wie Eliah bin auch ich kein Anwalt, und wenn Sie angeklagt werden, meinen Rat befolgt zu haben, können Sie nicht sagen, dass ich Sie nicht gewarnt habe. Ich stimme generell Eliah zu, aber ich denke in diesem Fall ist Python ein bisschen anders.

Mit der GPL-Software können Sie etwas weitergeben, solange Sie es unter derselben Lizenz bereitstellen. In diesem Fall würden Sie PyQT neu verteilen, was Sie tun können. Sie würden auch Ihr Produkt vertreiben. Ich persönlich verstehe nicht, warum Sie nicht beides können, solange Sie die Quelle für die von Ihnen verwendeten GPL-Dinge zur Verfügung stellen. Sie integrieren sie nicht in Python, sondern verwenden sie nur.

Um genauer zu beschreiben, wovon ich spreche: Wenn Sie eine Bibliothek in ein C-Projekt einbinden und dieses kompilieren, erhalten Sie entweder den GPL-Code in Ihrer Binärdatei oder Sie erstellen statische Bibliotheken, mit denen Ihr Code verknüpft ist ( statisch oder dynamisch). Die FSF fordert Sie auf, Ihren Code von der GPL zur Verfügung zu stellen, wenn Sie den geschützten Code weitergeben.

Sieh den Unterschied? Die textbasierte Verteilung von Python bedeutet, dass die Verknüpfung ziemlich dynamisch ist: Es gibt keine statischen "Verknüpfungen" zu GPL-Code, und der Verweis auf PyQT könnte in einer anderen Umgebung ersetzt werden. Sie verwenden nur die API.

Wenn Sie nach "python import gpl" suchen, finden Sie viele, viele Argumente in beide Richtungen von vielen, vielen Nicht-Anwälten. Dies ist kein einfaches Argument, und wenn es zu einer Klage käme, könnten Sie verdammt sicher sein, dass jeder auf der Seite der freien Software alles darauf werfen würde, um sicherzustellen, dass ein negativer Präzedenzfall festgelegt wurde.

Sie sind also wahrscheinlich nicht qualifiziert, diese Entscheidung alleine zu treffen. Sprechen Sie entweder mit einem Anwalt oder schauen Sie sich an, wie viel Sie das kosten würden, und stellen Sie fest, dass es billiger ist, nur die kommerziellen Lizenzen zu bezahlen.

Das Ignorieren der Lizenzierung wird viel teurer.

Oli
quelle
2
«Sie integrieren sie nicht in Python, sondern verwenden sie nur.» Wenn Sie GPLed Python-Module importieren, wird das Ganze zur GPL.
Andrea Lazzarotto