Matthew Garrett wirft Oracle GPL-Trickserei vor

Seit einiger Zeit gibt es Zoff zwischen Linus Torvalds und dem Entwickler von Bcachefs, Kent Overstreet.

Anlässlich eines aktuellen Gerichtsurteils, das Oracle Copyright am Java-API zuspricht, äußert der britische Linux-Entwickler Matthew Garrett Kritik am Umgang des Unternehmens mit der GPL-Lizenz der Linux-Kernels.

Dabei bezieht er sich auf Oracles Tracing-Framework DTrace. Da es unter der Open-Solaris-Lizenz CDDL veröffentlicht ist, ist sein Code nicht mit der GPLv2 des Linux-Kernels vereinbar. Im Zuge seines Produkts Unbreakable Linux habe Oracle DTrace für Linux verfügbar machen wollen, schreibt Garrett in seinem Blogeintrag. Da die Lizenzen die direkte Integration in den Linux-Kernel verhinderten, habe der Hersteller es als Kernelmodul implementiert, bei dem die Rechtslage zumindest unklar sei, da der Kernel ja das API für Module explizit exportiert.

Dabei verwendet er mit “EXPORT_SYMBOL_GPL()” ein Makro, das Symbole nur für GPL-lizenzierte Module zur Verfügung stellt, und mit “EXPORT_SYMBOL()” ein anderes für beliebig lizenzierte Module. DTrace benötigt allerdings die Funktion “ktime_get()”, die GPL-Modulen vorbehalten ist. Laut Garrett habe sich Oracle eines fragwürdigen Tricks bedient, um die Funktion dennoch zu nutzen. Die Entwickler des Unternehmens brachten GPL-lizenzierten Abstraktionscode in den Kernel ein. Er exportiert die Funktion “dtrace_gethrtimer()” als frei verfügbares Symbol. Sie reicht als Proxy einfach die Ausgabe von “ktime_get()” weiter.

Damit beschreibt Matthew Garrett eine weitere Episode in der Auseinandersetzung um nicht-GPL-lizenzierte Kernelmodule. Seit über zehn Jahren versuchen die Linux-Entwickler für das Nutzen wichtiger Funktionen des Kernels die GPL durchzusetzen, und immer wieder suchen Firmen nach Wegen, die Beschränkungen von “EXPORT_SYMBOL_GPL()” zu umgehen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Dr. Azrael Tod
8 Jahre her

wenn die leute alle derartige “fixes” in ihre kernel-builds übernehmen und sich keiner dran stört ist das halt legal…die frage ist eher warum irgendwer sowas in seinen kernel einbinden sollte?

Nach oben