Login
Newsletter
Werbung

Mo, 12. Mai 2014, 12:24

Software::Kernel

Verletzt Oracle die GPL des Linux-Kernels?

Matthew Garrett beschuldigt Oracle, im DTrace-Modul für Linux eine Lizenzverletzung zu begehen. Dabei steht DTrace unter einer freien Lizenz, das Problem ist jedoch, dass die CDDL nicht mit der GPLv2 kompatibel ist.

oracle.com

Oracle liefert DTrace, ein fortgeschrittenes Tracing-System, in seinem Unternehmens-Linux aus. DTrace wurde ursprünglich von Sun für Solaris geschrieben und unter die Copyleft-Lizenz CDDL gestellt. Diese Lizenz verhinderte die Integration von DTrace in den Linux-Kernel, da ihre Bestimmungen nicht mit der GPLv2 vereinbar sind. Auch Oracle hat seit der Übernahme von Sun und damit auch DTrace kein Interesse gezeigt, die Lizenz anzupassen.

Damit stand Oracle bei der Portierung von DTrace auf Linux vor demselben Problem wie die Hersteller proprietärer Kernel-Module: Alle Module müssen natürlich Funktionen des Kernels aufrufen, es gibt aber Funktionen, die ausschließlich Modulen vorbehalten sind, die unter der GPLv2 stehen. Es scheint, dass Oracle für DTrace eine spezifische Funktion benötigte, nämlich das einfache Auslesen eines Timers, das in ktime_get realisiert ist. Diese Funktion ist nur für GPLv2-Module gedacht. Oracle dachte sich einen vermeintlich cleveren Trick aus, um diese Einschränkung zu umgehen: Es gibt ein kleines Modul, das unter der GPLv2 steht und einige Hilfsfunktionen für DTrace zur Verfügung stellt. Der angegebene Zweck des Moduls ist es, eine stabile Tracing-Schnittstelle zur Verfügung zu stellen. Eine der Funktionen macht nichts weiter, als ktime_get aufzurufen und das Ergebnis zurückzuliefern. Diese Funktion unterliegt jedoch nicht mehr der GPLv2-Forderung.

Hat Oracle damit einen Weg aufgezeigt, mit dem sich jede Kernel-Funktion ohne Lizenz-Einschränkung legal nutzen lässt und damit klar gemacht, dass sich die Nutzung des Kernels nicht so einschränken lässt, wie es sich einige Kernel-Entwickler gedacht hatten? Ist die Einschränkung, die durchaus auch umstritten war, letztlich sinnlos?

Während diese Fragen noch nicht abschließend beantwortet werden können, ist für Matthew Garrett klar, dass das Vorgehen zumindest fragwürdig ist, auch in ethischer Hinsicht. Zudem wird in den Kommentaren darauf hingewiesen, dass es neben den lizenzrechtlichen auch andere Gründe gibt, warum externe Entwickler diese Funktionen nicht nutzen sollten. Sie gehören nicht zum offiziellen und stabilen Teil der Kernel-Schnittstelle, können sich jederzeit auch auf inkompatible Weise ändern und sind teilweise bereits zur Entfernung vorgesehen.

Ein weiterer Aspekt ist, dass Oracle sich trotz dem Bemühen, eine Lizenzverletzung zu vermeiden, auf ein gefährliches Pflaster begeben hat. Denn die betroffene Funktion ist eine Inline-Funktion, ihr Code wird also vom Compiler direkt in den Modulcode eingebaut. Damit aber sind GPLv2- und CDDL-Code direkt miteinander verbunden, was die Lizenzen nicht erlauben. Gerade zu dem Zeitpunkt, zu dem ein US-Gericht im Streit zwischen Oracle und Google die aus Sicht von Computerexperten katastrophale Meinung vertrat, dass Programmierschnittstellen unter das Copyright fallen, muss Oracle sich vorsehen, dass diese Rechtsprechung nicht gegen sie selbst angewandt wird. Noch kann das Urteil aber revidiert werden. Doch Oracles Rücksichtslosigkeit, so Garrett, gegenüber freien Software-Projekten, könnte dem Unternehmen noch selbst zum Schaden gereichen.

Werbung
Kommentare (Insgesamt: 14 || Alle anzeigen )
Re[3]: GPL (amoibos, Di, 13. Mai 2014)
Oracle steht ... (GNU-Linux, Di, 13. Mai 2014)
Re[2]: GPL (Unerkannt, Di, 13. Mai 2014)
Re[2]: GPL (Unerkannt, Di, 13. Mai 2014)
Re: GPL (kamome umidori, Di, 13. Mai 2014)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung