Kernel-Log: Kernel-interne USB-API nur noch für GPL-Treiber, letzte 2.6.22-Version in Vorbereitung

Zentrale USB-Treiber-APIs werden im Linux-Kernel 2.6.25 wohl nur noch für GPL-Treiber freigegeben sein; mit 2.6.22.17 ist die wohl letzte Version der 2.6.22-Serie in Vorbereitung; neue Versionen von Ndiswrapper und PS3-Distributors-Kit.

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

Über den bekannten Linux-Entwickler Greg Kroah-Hartman fand ein Patch den Weg in das Quellcodeverwaltungssystem des Linux-Kernels, mit dem er klarzustellen versucht, dass nur noch unter der GPL2 oder kompatiblen Lizenzen stehende USB-Treiber zentrale Funktionen des Kernel-internen USB-Treiber-API nutzen dürfen. Diese Änderung für 2.6.25 war ursprünglich schon für Kernel 2.6.16 vorgesehen, als Kroah-Hartman im Rahmen einer größeren Überarbeitung des USB-Subsystems durch den Patch ausdrücken wollte, dass nur GPL-kompatible Treiber den zu nicht unerheblichen Teilen aus seiner Feder stammenden USB-Code direkt nutzen können. Diese Änderung wurde dann jedoch vor der Freigabe von 2.6.16 wieder zurückgenommen; gleichzeitig wurde aber angekündigt, den Patch im Februar 2008 wieder einzubringen. Das sollte Firmen wie AVM zwei Jahre Zeit geben, ihre proprietären und als Kernel-Module mit Wrapper-Code angebotenen Linux-USB-Treiber so zu modifizieren, dass sie als normale Programme im Userspace arbeiten, die über die vom Kernel an den Userspace exportierten Schnittstellen auf USB-Geräte zugreifen – ähnlich wie es bei Drucker- und Scanner-Treibern unter Linux der Fall ist. Diese "Treiber-Programme" müssten dann auch nicht unter Open-Source-Lizenzen stehen und sollten laut dem Entwickler ohne viel Portierungsaufwand auch unter BSD oder Windows arbeiten.

Genau wie vor zwei Jahren beim ersten Versuch, diesen Patch zu integrieren, kritisieren einige Anwender und Entwickler das Vorgehen im Rahmen einer seit zirka zehn Tagen laufenden Diskussion auf der Linux-Kernel Mailing List (LKML). Die Argumente ähneln früheren Diskussionen um proprietäre, als Kernel-Modul umgesetzte Linux-Treiber – für den einen handelt es sich enerell um eine rechtliche Grauzone, was Kroah-Hartman jedoch ganz anders sieht. Die jetzt aufgenommenen zusätzlichen Auszeichnungen der USB-API-Schnittstellen sollten das Ganze zumindest für den USB-Bereich klarer machen, doch auch das ist umstritten.

Pragmatiker halten das Vorgehen von Linux-Entwicklern wie Kroah-Hartman für schädlich, weil es Hersteller davon abschrecken mag, Linux-Treiber zu entwickeln – nichtsdestotrotz scheint der Widerstand einzelner Kernel-Entwickler oder Distributionen gegen proprietäre Treiber so manchem Hersteller den Open-Source-Gedanken näher zu bringen. AMDs Vorgehen mit der Offenlegung von Dokumentation ist nur das populärste Beispiel. Wie im vorangegangen Kernel-Log erwähnt, haben auch Firmen wie Highpoint durch Druck der Kunden weitgehend auf Open-Source-Treiber umgeschwenkt. Diese sind für die Kunden meist auch viel einfacher in Installation, Pflege und Handhabung, da alle Linux-Distributoren Open-Source-Treiber integrieren und diese auf die übrige in der Distribution enthaltene Software abstimmen.

Als einer der Verwalter der Stable-Kernels-Series hat Kroah-Hartman derweil die 17. Version der 2.6.22-Serie vorbereitet. Sie soll vermutlich morgen oder übermorgen erscheinen und dürfte die letzte 2.6.22-Version sein, da sich die Verwalter der Stable-Kernels-Series normalerweise auf die beiden neusten Kernel-Versionen – derzeit also 2.6.23 und 2.6.24 – konzentrieren.

Kernel-Log Staccato: Die Entwickler des umstrittenen Ndiswrapper haben derweil die Version 1.52 freigegeben; Sony veröffentlicht Version 1.6.0 des "PS3 Linux Distributor's Starter Kit" für die Playstation 3; die WLAN-Treiber-Entwickler wollen bald eine Access-Point-(AP-)Funktion mit dem Linux-WLAN-Stack MAC80211 unterstützen.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise Open:

(thl)