Seite 1 von 1

libqsqlmysql und die LGPL

Verfasst: 30. Oktober 2010 11:29
von gboelter
Hallo!

Dank der LGPL ist es gruendsaetzlich moeglich mit der Open-Source-Version von Qt proprietäre Software zu entwickeln und zu vertreiben.

Wie aber verhaelt sich das zum Beispiel mit MySQL und der libqsqlmysql, also dem Plugin?

Da habe ich imer noch keine konkrete Antwort gefunden. Eine entsprechende eMail an MySQL wurde zwar beantwortet, macht mich aber keineswegs schlauer.

Darf ich das Plugin dynamisch gegen das Plugin linken, wenn meine Software nicht unter die GPL faellt? Weiss da jemand was genaueres?

Danke im voraus und ein schoenes Wochenende!

Verfasst: 1. November 2010 10:49
von brax
Wie das mit dem plugin als solches ist, kann ich Dir zwar nicht direkt sagen, aber die eigentliche mysql lib (unter Win wäre das z.B. libmysql.dll), die Du ja auch brauchst, um das Plugin nutzen zu können, darfst Du ganz sicher nicht ausliefern, wenn Dein Programm nicht GPL ist. Daher sollte die Frage nach dem Plugin hinfällig sein, denke ich.

Verfasst: 1. November 2010 11:17
von gboelter
brax hat geschrieben:... aber die eigentliche mysql lib (unter Win wäre das z.B. libmysql.dll), die Du ja auch brauchst, um das Plugin nutzen zu können, darfst Du ganz sicher nicht ausliefern, wenn Dein Programm nicht GPL ist.
Danke fuer Deine Einschaetzung.

Wenn das unter Win so ist, dann stimme ich Dir zu.

Ich kenn's jetzt nur unter Linux, und da brauche ich die Lib nicht ausliefern. Da muss lediglich der MySQL-Client auf dem jeweiligen Rechner installiert sein, was aber ja nicht mein Problem sein kann.

Verfasst: 1. November 2010 13:17
von brax
Da hast Du natürlich recht. Wenn der Anwender den mysql Client schon hat dann hat er natürlich auch die lib, in dem Fall bringt Dich wohl meiner letzter Post nicht wirklich weiter, sorry.

Eine definitive Antwort kann ich Dir also nicht geben, meine Einschätzung wäre aber so: da das qt mysql plugin dynamisch gegen die libmysqlclient linkt "benutzt" es ja GPL Software und dadurch müsste nach meinem Verständnis das qt mysql plugin selbst auch GPL sein (wegen copyleft), was wiederum die Software, die das mysql plugin benutzt auch GPL machen müsste. Wie gesagt, dies ist nur meine Einschätzung, sicher wissen tu ich es nicht.

Verfasst: 1. November 2010 14:29
von gboelter
brax hat geschrieben:... da das qt mysql plugin dynamisch gegen die libmysqlclient linkt "benutzt" es ja GPL Software und dadurch müsste nach meinem Verständnis das qt mysql plugin selbst auch GPL sein (wegen copyleft), was wiederum die Software, die das mysql plugin benutzt auch GPL machen müsste.
Genau das ist mein Problem. Qt ist ja mittlerweile LGPL und dagegen darf ich ja durchaus linken. Aber was ist mi dem PlugIn, steht das damit auch unter der LGPL?

Ein Trauerspiel ist natuerlich, dass MySQL Germany mir die Eingangsfrage auch nicht beantworten kann oder nicht beantworten will.

FLOSS bzw FOSS

Verfasst: 1. November 2010 20:25
von softwaremaker

Re: FLOSS bzw FOSS

Verfasst: 2. November 2010 06:15
von gboelter
Ja, das Teil kenne ich, bin mir aber nicht sicher, ob ich's richtig interpretiere.

Entscheidend fuer meinen Fall duerfte dieser Absatz sein:
Q4: Can commercial OEMs, ISVs or VARs combine and distribute commercial products with Oracle’s GPL-licensed MySQL software under the FOSS License Exception? Does this include the MySQL database server?
A: Distributors of commercial products that combine GPL-licensed MySQL software with commercially licensed software (i.e., software not licensed under a FOSS license) must comply with the terms of the GPL. This includes use and distribution of the GPL-licensed MySQL database server and MySQL Client Libraries. The FOSS License Exception does not apply with respect to products licensed under any license other than the FOSS licenses listed in the section above titled “FOSS License List.”
Und wenn ich diesen Absatz richtig verstehe, dann darf ich nicht gegen die entsprechenden Client-Libraries von MySQL linken, die ja unter GPL stehen. Andererseits, linke ich denn gegen deren Client-Libraries, wenn ich lediglich die Plugins von QT benutze?

Es geht mir nicht darum, MySQL kostenlos nutzen zu wollen. Ich will lediglich meinen Kunden die Moeglichkeit bieten, zwischen verschiedenen Datenbanken, sagen wir MySQL, Oracle und MS SQL, waehlen zu koennen, was sich ja mit den Qt-Plugins sehr schoen realisieren laesst. Der Kunde soll dann auch gern fuer die Datenbank seiner Wahl bezahlen.

Es kann doch nicht sein, dass ich im vorgenannten Beispiel dann - nach MySQL Lesart - fuer jede verkaufte Kopie meiner Software 3 SQL-Lizenzen kaufen und mitliefern muss, von denen der Kunde dann nur 1 nutzt.

Ist dem wirklich so onder verstehe ich da einfach was falsch?

Verfasst: 2. November 2010 09:09
von solarix
Ich glaube, softwaremaker wollte darauf anspielen:
...
but this exception permits distribution of certain MySQL Client Libraries with a developer’s FOSS applications licensed under the terms of another FOSS license listed below, even though such other FOSS license may be incompatible with the GPL.
FOSS License List:
..
..
GNU Library or "Lesser" General Public License (LGPL)
..
Ich deute das so, dass du das Qt-Plugin damit vollständig unter die LGPL stellen kannst...

hth..

PS.
Ich kenne die MySQL-Lizenzierungen und Preise nicht gerade (Online-Shop ist down), aber häufig kauft man eine "Developer"-Lizenz und darf dann in beliebig vielen Programmen davon gebrauch machen (und diese auch verkaufen). Falls du also mit der (L)GPL unsicher bist: eine kommerzielle Nutzung wäre wahrscheinlich auch kein Problem (einfach im Umgang und bezahlbar)..

Verfasst: 4. November 2010 14:09
von Mani99
Ich befasse mich auch gerade mit diesem thema, und ich habe mehrere artikel im internet gelesen, und mein verständnis der ganzen sache ist mittlerweile so:

Dein programm ist proprietär, da du aber qt unter der LGPL verwendest, welches quasi das interface zwischen datenbank und deinem programm ist, kannst die mysql treiber verwenden, diese sind zwar GPL lizensiert jedoch färbt die GPL nicht auf das interface, welches LGPL lizensiert ist, ab.

Soll heißen, qt dient als puffer zwischen deinem proprietärem programm und dem mysql treiber.

So ist zumindest mein verständniss, wenn man die ganzen lizenzen per logik kombiniert.

Falls ich un-/halbwahrheiten von mir gegeben habe, bitte um korrektur!