Tagesarchiv für den 9. Juni 2011

Das Orakel befragen…

Donnerstag, den 9. Juni 2011

Schon bei der Übernahme von MySQL durch Oracle hatte ich irgendwie kein gutes Gefühl im Bauch. Die letzten Monate über hat sich das immer weiter bestärkt. Am 30.12.2010 kam ein Brief aus den USA (per DHL-Express - ich will gar nicht wissen was das gekostet hat), mit dem alle bisherigen Partnerverträge von Sun fristlos aufgekündigt wurden. Danach hat es einige Monate gedauert, bis Oracle das hauseigene “OPN” (Oracle Partner Network) um eine Hand voll MySQL-Produkte erweitert hat (in der Zwischenzeit ging bekanntlich “gar nichts”). Nach einem mehrstufigen Registrierungsprozess, spontanen Anrufen von Oracle-Callcentern und etlichen Webcasts kann darf man dann (theoretisch) MySQL-Produkte verkaufen - aber nur, wenn man mindestens den “Gold-Level” (für schlappe $2.995,- pro Jahr) hat.
Das eigentliche Problem besteht aber woanders: stellt man nun eine (kommerzielle) Software her, die nicht unter GPL-Lizenz steht und auch nicht die Kriterien für die FOSS-Ausnahmen erfüllt, dann kann man derzeit MySQL-Datenbanken nicht unterstützen. Die Verwendung der Client-Bibliotheken ist alternativ nämlich nur mit einer OEM-Lizenz möglich, und die gibt es bei Oracle derzeit irgendwie nicht. Ich stehe nun schon seit Wochen in Kontakt mit dem “Orakel” :) (u.a. mit dem viel zitierten “OEM Sales Team”), aber habe schlicht und ergreifend noch gar keine Antwort erhalten. Telefonisch wies man mich mit Floskeln auf die eben erwähnte Gold-Level-Mitgliedschaft im OPN hin, wenngleich diese auch keine OEM-Lizenzen oder vergleichbare Berechtigungen beinhaltet. Und selbst wenn - ich sehe es nicht ein, Geld für die Anbindung eines Open-Source-Datenbanksystems zu zahlen.

Wie geht es weiter? Nun, die Idee, die eigene Software einfach mit den MySQL-Client-Bibliotheken einer Distribution zu verlinken, klappt auch nicht, da immer noch die unter GPL stehenden MySQL-Header genutzt werden (müssen). Ich sehe derzeit folgende alternative Ansätze:

  • eine Ausnahme in der (alten) MySQL-Lizenzvereinbarung, die es erlaubt, bisher veröffentlichte Produkte mit MySQL-Client-Bibliotheken in der selben Version auch weiterhin veröffentlichen zu dürfen -> ist halt blöd wenn man Updates machen will
  • eigene Header-Files, welche ABI-kompatibel zum derzeitigen MySQL-Client sind, und unter “großzügigeren” Lizenzen stehen. Ist aber auch blöd, weil dann natürlich alle Funktionsnamen, Strukturen usw. an die “eigenen” Header angepasst werden müssen. Außerdem ist die Lizenzfrage in so einem Fall immer noch recht strittig: der MySQL-Client steht nämlich unter GPL und nicht LGPL
  • Verwendung des Drizzle-Clients, der (angeblich) zu MySQL kompatibel ist. Problem: nach einer kürzlichen Code-Konsolidierung des Clients in den Haupt-Codebaum kaum separat bzw. “von Hand” compilierbar…
  • Entkoppelung der Datenbankanbindung durch eine eigene Bibliothek, die unter einer der FOSS-Lizenzen steht. Nachteil: diese Zwischen-Bibliothek müsste dann aber im Sourcecode veröffentlicht werden.

Vielleicht liest zufällig ja jemand bei Oracle diesen Artikel, und möchte dann Kontakt mit mir aufnehmen. Ich hatte auch auf der CeBIT einige Gespräche in dieser Richtung, und viele Entwickler sind derzeit äußerst zurückhaltend was die MySQL-Unterstützung betrifft, da Oracle es nicht schafft mal eine klare Aussage zu treffen.

Mir wäre es ja am liebsten, wenn Oracle das bisherige “MySQL Enterprise Driver Software License Agreement” wieder aktivieren und fortführen könnte… *wink_mit_dem_Zaunpfahl*