Zum Hauptinhalt Zur Navigation

Linux: Kernel-Community will proprietäre Module stärker behindern

Ein Zwischenschritt zum Umgehen von GPL-Beschränkungen könnte im Linux-Kernel künftig nicht mehr genutzt werden.
/ Sebastian Grüner
44 Kommentare News folgen (öffnet im neuen Fenster)
Die Lizenz des Linux-Kernel soll proprietäre Module eigentlich verhindern. (Bild: Moonshiner69, flickr.com)
Die Lizenz des Linux-Kernel soll proprietäre Module eigentlich verhindern. Bild: Moonshiner69, flickr.com / CC-BY-SA 2.0

Eine Sammlung von Patches(öffnet im neuen Fenster) , die der Facebook-Entwickler Jonathan Lemon zur Aufnahme im Linux-Kernel vorgeschlagen, sorgt in der Community für große Diskussionen rund um den Umgang mit proprietären Kernel-Modulen. Offenbar als direkte Reaktion auf die Patches von Lemon könnte die Nutzung beziehungsweise die Entwicklung derartiger Treiber wie etwa von Nvidia nun noch weiter erschwert werden.

Ausgangspunkt der Diskussionen war die Idee von Lemon, die Daten von einem Netzwerkadapter direkt auf eine GPU kopieren zu können und dabei die Host-CPU zu umgehen, wie das Magazin LWN.net berichtet(öffnet im neuen Fenster) . Dies könnte die Nutzung der Daten in Machine-Learning-Anwendungen deutlich beschleunigen und ist für sich genommen sicher eine sinnvolle Funktion. Die Patches von Lemon basieren aber offenbar auf einer Art direkter Interkation mit dem proprietären Linux-Kernel-Treiber von Nvidia.

Das kommt jedoch auch bei dem sonst eher zurückhaltend und sachlich argumentierenden Entwickler Greg Kroah-Hartman nicht gut an. Dieser schreibt an Lemon gerichtet(öffnet im neuen Fenster) : "Ok, jetzt trollst du uns nur noch." Immerhin ist es eine der klaren Regeln der Linux-Community, dass Code im Kernel nur auf Teilen basieren darf, der in dessen Hauptentwicklungszweig gepflegt wird. Die von Lemon vorgeschlagene Abhängigkeit auf externen Code ist also nicht erlaubt. Erschwerend hinzu kommt, dass der größte Teil von Nvidias Code proprietär ist und damit nicht kompatibel zur GPL des Linux-Kernel.

Der für seine langjährige Arbeit am Kernel sowie seine GPL-Klage bekannte Christoph Hellwig wirft außerdem ein(öffnet im neuen Fenster) , dass es für die Idee von Lemon bereits eine Vielzahl von möglicher Infrastruktur im Linux-Code gebe, die dafür genutzt werden könne. Dass Lemon jedoch nur Nvidia-Hardware habe und der von ihm eingereichte Code dabei auch auf die anderen freien GPU-Treiber adaptiert werden könne, lässt die Kernel-Community jedoch nicht als Argument gelten.

Nutzung proprietärer Treiber weiter erschwert

Hellwig selbst hat nun darüber hinaus auch Patches eingereicht(öffnet im neuen Fenster) , die die von Lemon geplante Vorgehensweise deutlich erschweren könnte. Zwar verfügt der Linux-Kernel mit dem Aufruf EXPORT_SYMBOL_GPL() über eine Methode(öffnet im neuen Fenster) , Schnittstellen so zu gestalten, dass diese nur von Modulen genutzt werden können, die unter der GPL oder einer kompatiblen Lizenz stehen. Dies kann jedoch dadurch umgangen werden, dass ein proprietäres Modul aufgespalten wird. Eine kleine Zwischenschicht, die zur GPL kompatibel ist, kann dann zur Kommunikation mit dem restlichen proprietären Teil genutzt werden.

Der Patch von Hellwig versucht nun genau dies zu erschweren. Module, die proprietäre Symbole importieren, werden damit wiederum selbst als proprietär markiert und erhalten keinen Zugriff auf die GPL-Symbole. Die von Lemon ursprünglich für seine Patches geplante Vorgehensweise würde damit verhindert und die Entwicklung von den Zwischenschichten zur Umgehung der GPL-Symbol deutlich erschwert, auch wenn noch eine kleine Lücke bestehen bleibe, worauf LWN.net hinweist.

In der Vergangenheit hat die Linux-Kernel-Community eine Vielzahl von Änderungen umgesetzt, die wissentlich oder als Nebeneffekt die Entwicklung proprietärer oder nicht lizenzkompatibler Module erschwert hat. Betroffenen davon sind etwa die proprietären Treiber von Nvidia oder aber auch ZFS für Linux .


Relevante Themen