Forum: PC-Programmierung MySQL GPLv2 Bibliothek dynamisch linken (libmysql.dll)


von Info (Gast)


Lesenswert?

Mal 'ne Open-Source-Software-Lizenz-Frage (GPLv2):

Meine Anwendung braucht Zugriff auf eine MySQL-Datenbank.
Dazu gibt es eine DLL (libmysql.dll), die ich dynamisch linke.

Muss ich meinen Quellcode offenlegen, wenn ich meine Anwendung 
'verteile'? Darf ich besagte, frei verfügbare DLL auch mit meiner 
Anwendung 'verteilen'?

Jetzt eine kleine Komplikation:
Genauer gesagt, Qt (LGPLv2.1) linkt diese Bibliothek als Plugin, und ich 
habe dieses Plugin 'gebaut' und linke die entstandene Plugin-DLL. Ändert 
das etwas?

von Εrnst B. (ernst)


Lesenswert?

Kommt darauf an.

Die FSF sagt (nicht unumstritten): du musst dein Programm als GPL 
re-lizensieren.

http://www.ifross.org/wann-muss-eigenentwickelte-software-unter-gpl-lizenziert-werden

Zwar: Wo kein Kläger, da kein Richter, aber:
Oracle will für die Nicht-GPL-Version dieser DLL 2000 Dollar haben, wenn 
ich die Preistabelle auf mysql.com richtig lese.
d.H. ich könnte mir schon vorstellen, dass die ungemütlich werden, wenn 
du die GPL-DLL in deiner Software einsetzt.

von Peter II (Gast)


Lesenswert?

warum nutzt du nicht ODBC? Das ist eine offene schnittstelle zu allen 
möglichen Datenbanken. Damit umgehst du das Problem komplett.

von Info (Gast)


Lesenswert?

Εrnst B✶ schrieb:
> Die FSF sagt (nicht unumstritten): du musst dein Programm als GPL
> re-lizensieren.

Hallo und danke für den Link. Darauf bezogen kann ich dir aber nicht 
folgen. Du interpretierst meine, die DLL linkende Anwendung, als 
"abgeleitet"? Meine Produkt integriert die DLL nicht, da ich (bzw. das 
Qt Plugin) dynamisch linke, also wie die auf der von Dir gelinkten Seite 
genannte Auffassung:

"Es gibt Stimmen, die die Auffassung vertreten, dass durch die 
Verlinkung stets ein abgeleitetes Werk entsteht. Dies dürfte zumindest 
für dynamisch verlinkte Bibliotheken zweifelhaft sein;  allerdings 
existieren dazu keine Urteile von Gerichten, die als Anhaltspunkt dienen 
könnten."

Ok, also (r)eine Interpretationssache.

von Info (Gast)


Lesenswert?

Peter II schrieb:
> warum nutzt du nicht ODBC? Das ist eine offene schnittstelle zu allen
> möglichen Datenbanken. Damit umgehst du das Problem komplett.

Guck ich mir mal an, danke für den Tipp.

von Εrnst B. (ernst)


Lesenswert?

Meiner Meinung nach ist der Zwischenschritt über die QT egal, sonst 
könnte man sich jeder GPL-Verpflichtung mit einem eigenen Open-Source 
Zwischen-Layer entledigen, auch wenn dieser alle Funktionen nur 1:1 mit 
anderem Namen durchreicht.

Was Primär zählt ist die Haltung von Oracle zu dem Thema, außer du hast 
ein eigenes, vergleichbares Legal-Department und genug Cash-Rücklagen 
für einen Jahrzehntelangen Rechtsstreit zu dem Thema.

http://www.mysql.com/about/legal/licensing/oem/
1
Oracle makes its MySQL database server and MySQL Client Libraries available under
2
both the GPL and a commercial license. As a result, developers who use or distribute
3
open source applications under the GPL can use the GPL-licensed MySQL software,
4
and OEMs, ISVs and VARs that do not want to combine or distribute the MySQL
5
software with their own commercial software under a GPL license can purchase a
6
commercial license.


Möglichkeit für dich:
Mach das Datenbank-Backend frei Konfigurierbar.
Liefere die mysql-DLL nicht mit.
Sag deinen Kunden, wo sie diese kaufen können.
Sobald die DLL im Verzeichnis liegt, geht auch deine DB-Connection.
Wenn irgendeiner deiner Kunden die GPL-DLL (dann als "Raubkopie") dafür 
verwendet, ist das nicht mehr dein Bier. (IANAL, evtl. kommt 
Störerhaftung in Betracht)


Evtl noch besser:
Schau mal "MariaDB" an. Angeblich 100% kompatibel, aber die DLLs sind 
LGPL, also Problemlos.

: Bearbeitet durch User
von Info (Gast)


Lesenswert?

https://mariadb.org/

Scheint zu klappen, super - danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.