# mySQL JDBC Driver Lizenzfrage



## serjoscha (18. Aug 2010)

Hallo zusammen,

bei der Suche bin ich auf diese beiden Themen gestoßen

http://www.java-forum.org/softwaree...g-gpl-lizenzierter-bibliotheken-darf-man.html
http://www.java-forum.org/softwaree...mm-verwendung-div-libraries-div-lizenzen.html

allerdings geht für mich nicht ganz hervor was das für den Fall der einfachen BENUTZUNG einer
unter der GPL stehenden lib bedeutet.

Ich benötige den mySQL JDBC Driver, welcher mittlerweile halt unter der GPL steht. Ich brauche diesen
nur für den üblichen Kram wie die Verbindung zur Datenbank und senden von Abfragen.
Ich habe nicht im geringstens vor irgendwas zu extenden oder den Source in irgend einer Form
anzufassen!

Darf ich für diesen Zweck den JDBC Driver ohne Erwerb einer Lizenz bei mysql verwenden, wenn ich
mein Programm verkaufen möchte (ein einzelner Kunde) aber den Source nicht offenlegen möchte?

Wenn ich es nicht dürfte, könnte ich mich damit aus dem schlamassel raushebeln, dass ich die
mySQL Connector lib dynamisch während der Laufzeit anbinde und dem Kunden sage, dass er bitte 
den JDBC Connector selber von der offzieillen Seite laden muss?

Danke im Voraus!

Liebe Grüße


----------



## Murray (18. Aug 2010)

serjoscha hat gesagt.:


> Darf ich für diesen Zweck den JDBC Driver ohne Erwerb einer Lizenz bei mysql verwenden, wenn ich
> mein Programm verkaufen möchte (ein einzelner Kunde) aber den Source nicht offenlegen möchte?


Ich glaube, nach dem allgemeine Verständnis der GPL fiele in diesem Fall Deine Anwendung unter die Definition von "derived work", so dass der virale Charakter der GPL für Dich zum Problem würde - Du müsstest den Code also offenlegen



serjoscha hat gesagt.:


> Wenn ich es nicht dürfte, könnte ich mich damit aus dem schlamassel raushebeln, dass ich die
> mySQL Connector lib dynamisch während der Laufzeit anbinde und dem Kunden sage, dass er bitte
> den JDBC Connector selber von der offzieillen Seite laden muss?


Das würde helfen - vor allem dann, wenn es neben dem mySQL-Connector auch noch andere Connector-PlugIns gibt, mit denen die Anwendung ebenfalls läuft.
Dass das dynamische Laden per se das Problem löst, glaube ich nicht - eine Anwendung, die zwingend auf ein bestimmtes GPL-PlugIn angewiesen ist, könnte wohl ebenfalls als "derived work" im Sinne der GPL angesehen werden. Ich habe aber keine Ahnung, ob es dazu schon hierorts anwendbare Rechtssprechung gibt.


----------



## tuxedo (19. Aug 2010)

Kann Murray nur zustimmen.

Falls es aber eine "kleine" Anwendung ist, könnte es sein, dass die Anwendung evtl. mit dem Vorgänger des "Connector/J" läuft. Denn der MySQL JDBC Treiber war nicht immer GPL. Vor seiner GPL Zeit hieß er mm.mysql ... 
Hab vor einiger Zeit das Ding mal gepatcht so dass es auch mit neueren Java Versionen läuft. Hier der Thread dazu:

http://www.java-forum.org/datenbankprogrammierung/49490-mm-mysql-wieweit-noch-funktionsfaehig.html

Da hast du jedenfalls nicht das GPL Problem (dafür aber evtl. ein kompatibilitätsproblem).

- Alex


----------



## ice-breaker (19. Aug 2010)

Du könntest auch mal den Drizzle-JDBC-Connector, das ist ein Connector zu dem MySQL-Fork Drizzle, der aber auch mit MySQL sprechen kann


----------



## tuxedo (19. Aug 2010)

Danke für den Link. Klingt interessant.


----------



## maki (19. Aug 2010)

serjoscha, warum nimmst du nicht eine andere DB?
Kann mir kaum vorstellen das die MySQL Features so doll sind dass keine andere in frage kommt...


----------



## serjoscha (19. Aug 2010)

wow, vielen Dank für die Zahlreichen Antworten, sehr hilfreich !!

Es ist in der Tat eine kleine Anwendung, jedoch müsste der Connector dennoch die rudimentäre
Funktionalität >>verbinden<< und >>abfragen senden & auswerten<< unterstützen.

Früher war der mm.mysql Driver auch im Standard repertoir der jre enthalten, da wie ich gelesen habe
der Entwickler von den mysql Leuten "eingekauft" wurde, gibt es mittlerweile halt nurnoch als ultimum
den offiziell von mysql rausgegebenene Driver, welcher halt unter der GPL steht.

Werde mir die "gepatchte" Version mal ansehen. Außerdem werde ich mich mal über diesen Dizzle
driver belesen, das klingt auf Anhieb nach DER Lösung meines Problems.

Eine andere DB zu benutzen kommt leider nicht in Frage: Kunde hat mySQL, kunde will Programm für
mySQL ...

Vielen Dank für all die Antworten!!! Sehr sehr hilfreich!!

Liebe Grüße
 serjoscha

*edit

dieses Dizzle Paket scheint eine C/C++ lib zu sein?


----------



## Gelöschtes Mitglied 5909 (24. Aug 2010)

Du hast wohl die Datenbank runtergeladen, nicht den Treiber ^^

schau da mal:

Index of /mavenrepo/releases/org/drizzle/jdbc/drizzle-jdbc

und das ist noch wichtig:

JDBC/ConnectionStrings - DrizzleWiki


----------

