Warnschuss an Hersteller von Closed-Source-Treibern für Linux

Kernel-Entwickler Greg Kroah-Hartman hat auf der Linux-Kernel-Mailingliste einen Patch zur Diskussion gestellt, der die Nutzung von Closed-Source-Treibern (etwa von ATI oder Nvidia) unter zukünftigen Linux-Kerneln unterbinden könnte.

In Pocket speichern vorlesen Druckansicht 1729 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Thorsten Leemhuis

Nach den Rangeleien um eine stabile Treiber-Schnittstelle für den Linux-Kernel und deren Lösung geht Kernel-Entwickler Greg Kroah-Hartman zum nächsten Kapitel in der schon lange andauernden Diskussion um Closed-Source-Treiber über: Auf der Linux-Kernel-Mailingliste (LKML) stellte er einen Patch zur Diskussion vor, der das Treiber-API für den PCI-Bus nur noch für GPL-Treiber freigibt. Würde dieser Patch integriert, ließen sich viele der aktuellen Closed-Source-Treiber nicht mehr legal auf zukünftigen Kerneln benutzen.

In der Ankündigung zu dem zur Diskussion gestellten Patch fragt Kroah-Hartman nur lakonisch, ob es Einwände gegen die Änderung gebe – erst in einer Antwort auf seine eigene Mail geht er auf die politische Sprengkraft, die eine solche Änderung mit sich brächte, näher ein. Kroah-Hartman will den Patch im Moment nicht ernsthaft in den Kernel integrieren, sondern den Herstellern von Closed-Source-Treibern damit einen Warnschuss vor den Bug geben, wie er auch in seinem Blog schreibt.

Die im Kernel enthaltenen oder auch viele extern unter GPL-kompatiblen Lizenzen entwickelten Treiber würde ein solcher Patch nicht betreffen – sie dürften die API zum Ansprechen und Verwalten von PCI-Geräten auch weiter benutzen. Nicht GPL-kompatible Treiber wie etwa die Grafikkartentreiber von ATI und Nvidia oder einige Treiber für Storage-Controller von Broadcom, Marvell oder Promise dürften dies hingegen nicht und ließen sich auf Kerneln mit dieser Änderung nach Ansicht verschiedener Kernel-Entwickler praktisch nicht mehr legal einsetzen.

Auch momentan sind solche Treiber nach den Aussagen vieler Linux-Entwickler bereits illegal, weil sie anders als Userspace-Programme nicht mit dem Kernel über festgelegte APIs kommunizieren. Sie laufen stattdessen im Speicherbereich des Kernel ab und interagieren mit diesem sehr stark. Sie seien daher ein vom Kernel abgeleitetes Werk ("derived work"). Ein solches muss laut den Bestimmungen der GNU General Public License (GPL), der der Kernel unterliegt, ebenfalls unter der GPL veröffentlicht werden – also inklusive Quellcode.

Diese Ansicht ist jedoch unter Juristen umstritten; auch Linus Torvalds räumt ein, dass hier eine gewisse Grauzone herrscht. Daher haben die Kernel-Entwickler seit einiger Zeit begonnen, alle neuen Treiber-Schnittstellen nur noch über eine spezielle Funktion namens EXPORT_SYMBOL_GPL zu exportieren, die nur unter GPL-kompatiblen Lizenzen stehende Treiber nutzen dürfen. Durch die laufenden Änderungen an den Treiber-Schnittstellen ziehen sich diese mittlerweile durch den ganzen Kernel, sodass ATI und Nvidia bei ihren Treiber schon gelegentlich Anpassungen vornehmen mussten, um mit neueren Kerneln zusammenarbeiten zu können.

Die alten Exports reichen jedoch noch immer für das Funktionieren vieler Treiber aus, weshalb viele Hersteller auf Closed-Source-Treiber setzen. Dass sich dies jedoch nicht nur langsam, sondern auch schlagartig ändern könnte, will Kroah-Hartman ihnen mit der von ihm losgetretenen Diskussion zeigen. Sie würden seiner Ansicht nach von Linux profitieren, ohne etwas zurückzugeben – genau das wolle die GPL verhindern.

Im Rahmen der Diskussion kritisiert Benjamin Herrenschmidt, Verwalter der ATI-Radeon-Framebuffertreiber und von Linux auf Power-Macintosh, dass ATI sich weigert, Details zur 2D-Ansteuerung der neuesten Grafikchipgeneration preiszugeben. Und gerade dort hätte sich einiges geändert im Vergleich zu älteren Karten. Somit würden in Zukunft wohl nur noch Closed-Source-Treiber diese Grafikchips unterstützen. Diese existieren bisher jedoch nur für x86 und x64 (x86_64) und fehlen für andere Architekturen wie Itanium/IA64, PPC/PPC64, SPARC, SPARC64 und viele andere von Linux unterstützte Architekturen. Auch die BSD-Derivate dürften unter einer solchen Politik von ATI leiden, da bei ihnen genau wie bei vielen Linux-Distributionen für die grafische Oberfläche die unter Open-Source-Lizenzen stehenden X-Server von Xorg und XFree86 zum Einsatz kommen. Diese Projekte können ohne Information der Grafikchiphersteller nur schwerlich Grafiktreiber entwickeln. (thl)