Nvidia will GPL-Kennzeichnung einer Linux-Schnittstelle entfernen
Nvidia-Entwickler Robert Morell will die GPL-Kennzeichnung einer Treiberschnittstelle des Linux-Kernels entfernen; wichtige Kernel-Entwickler haben sich allerdings deutlich gegen solch eine Ă„nderung ausgesprochen.
Nvidia-Entwickler Robert Morell hat vorgeschlagen, eine auf die GPL-Lizenz des Linux-Kernels hinweisende Auszeichnung einer Treiberschnittstelle des Linux-Kernels zu entfernen – offenbar, um die Schnittstelle mit proprietären Treibern zu verwenden. Einige wichtige Kernel-Entwickler haben sich in einer Diskussion deutlich gegen den Vorschlag ausgesprochen und erörtern, welche Entwickler solch einer Änderung zustimmen müssten.
Die Änderung der Auszeichnung betrifft eine für Kernel-Treiber vorgesehene Schnittstelle des in Linux 3.3 integrierten "DMA Buffer Sharing Mechanism" (dma_buf). Er stellt eine Infrastruktur, über die mehrere Treiber sich einen DMA Buffer teilen können. Das ist unter anderem für Embedded-Systeme interessant, damit Kernel-Treiber beispielsweise die von einer Smartphone-Kamera erfassten Bilddaten nicht nur an einen Video-Encoder-Baustein zur Komprimierung und anschließenden Speicherung weiterleiten können, sondern gleichzeitig auch an den Grafikkern zur Live-Wiedergabe übermitteln, ohne die Bilddaten dabei vervielfältigen zu müssen. Auch für Hybridgrafiklösungen moderner Notebooks ist die Infrastruktur interessant, damit etwa ein dedizierter Grafikchip die von ihm berechneten Bilder ohne viel Aufwand an den Grafikkern des Prozessors übertragen kann, der den Bildschirm ansteuert. Das gelingt mit der in Linux 3.5 enthaltenen Prime-Infrastruktur, die den DMA-Sharing-Mechanismus nutzt und die Basis für die Hybridgrafik-Unterstützung des X-Servers 1.13 ist.
Nvidia überlegt, die Prime-Infrastruktur zur Unterstützung der Hybridgrafiktechnik Optimus in seinem proprietären Treiber zu verwenden. Auch bei den Embedded-Chips der Tegra-Reihe, an dessen Linux-Unterstützung Morell offenbar mitarbeitet, will Nvidia den DMA-Sharing-Mechanismus anscheinend einsetzen. Doch genau wie die Treiber für PC-Grafikkarten unterliegen auch jene für die Grafikkerne von Tegra-Chips keiner Open-Source-Lizenz – ob solch proprietäre Treiber überhaupt für Kernel-Treiber gedachte Schnittstellen nutzen dürfen, ist seit vielen Jahren umstritten. Einige Kernel-Entwickler haben daher 2005 begonnen, Treiberschnittstellen in dem von ihnen neu entwickelten Code nicht über die Funktion "EXPORT_SYMBOL()" zu exportieren, sondern über "EXPORT_SYMBOL_GPL()". Der Name in dieser Funktion soll klarstellen, dass nur Code diese Schnittstellen nutzen darf, der unter der Lizenz des Kernel steht – also der GPLv2 oder einer kompatiblen Lizenz. Eine zentrale Funktion des DMA Buffer Sharing Mechanism ist so markiert; schon bei der Integration des Codes gab es Diskussionen, das zu ändern.
Morell hat jetzt erneut vorgeschlagen, die GPL-Auszeichnung zu entfernen, und damit erneut eine Diskussion ausgelöst. Kernel-Urgestein Alan Cox hat sich darin gegen die Änderung ausgesprochen. Zudem hat er in diesem Rahmen klargestellt, dass er als Copyright-Halter des Linux-Kernels darin eine Verletzung der GPL-Abschnitte zu abgeleiteten Werken ("Derivative Work") sehe, wenn das Ziel der Änderung sei, proprietären Code mit dem Kernel zu kombinieren. Auch Mauro Carvalho Chehab, der unter anderem das DVB- und Webcam-Treiber enthaltende Media-Subsystem des Kernels betreut, hat sich gegen die Änderung ausgesprochen. Dave Airlie, der das DRM-Subsystem und die dortigen Grafiktreiber des Kernels betreut, merkt an, eine Nutzung des Interfaces durch proprietäre Treiber sei ihm gleichgültig, solange die Alternative wäre, dass die Treiber vergleichbare Funktionen selbst realisieren. Ferner erwähnt Airlie, Morell habe möglicherweise das Einverständnis aller Copyright-Halter am Code des DMA-Sharing-Mechanismus, um die von ihm vorgeschlagene Änderung durchzuführen. Darauf erwiderte Chehab, dass das seiner Ansicht nach nicht der Fall sei, weil der Code für den DMA-Sharing-Mechanismus auch andere Bereiche des Kernel-Codes exponiere; darunter etwa die Interfaces des Media-Subsystems. Seiner Ansicht nach müssten daher alle Copyright-Halter dieses Codes der Änderung zustimmen.
Nach zirka 30 Stunden und zwanzig Wortmeldungen endete die Diskussion am gestrigen Abend fürs Erste ohne sichtbares Ergebnis. Es wird sich zeigen müssen, ob der Änderungsvorschlag in Vergessenheit gerät oder ob die Änderung trotz der Opposition einiger Kernel-Entwickler früher oder später doch in den Linux-Kernel einfließt – und wenn ja, welche Folgen hat. (thl)