Login
Newsletter
Werbung

Di, 8. November 2005, 13:33

Software::Systemverwaltung

Hickhack um eine neue API für Kernel-Treiber

Eine neue Diskussion zur einheitlichen API für Linux-Treiber sorgte für Aufsehen.

Bereits letzte Woche berichtete der Kernel-Entwickler Greg Kroah-Hartman, dass drei Mitglieder des japanischen Open Source Development Labs (OSDL Japan) eine stabile Kernel-Schnittstelle einführen wollen. Diese soll vor allem kommerziellen Anbietern, die ihre Treiber nicht öffnen wollen oder können, helfen, auch Produkte für Linux zu entwickeln. Wie Kroah-Hartman bemerkt, existiert im Kernel zwar eine API (Application Programming Interface) für bereits im Kernel vorhandene und externe Treiber, diese wird jedoch relativ häufig geändert. Dieser Zustand scheint nun das Trio aus Fujitsu, NEC und Hitachi zu stören.

In der Vergangenheit hatten sich die OSDL-Division und die Firmen aus Japan schon einmal für eine einheitliche API ausgesprochen. Im Sommer dieses Jahres hatten die Mitglieder eine entsprechende Präsentation erstellt. Darin beschreiben sie die Vorteile sowohl für Anwender als auch für Hersteller. Eine API, die das Einbinden von externen Treibern erlauben würde, ermöglicht nicht nur Entwicklern von proprietären Treibern, diese unter Linux zu Verfügung zu stellen, sondern würde unter anderem auch die Größe des Kernels reduzieren. Treiber müssten nicht mehr direkt mit dem Kernel ausgeliefert und könnten separat angeboten werden - auch wenn diese nicht unter der GPL stehen. Kroah-Hartman scheint sich allerdings an dieser Passsage zu stören. Seiner Meinung nach entspricht dies nicht der Wahrheit.

Kroah-Hartmans Meinung teilen auch der Linux-Übervater Linus Torvalds und Alan Cox. Laut Cox ist das Linken von binären, unfreien Treibern unter Linux möglicherweise nicht erlaubt. Der Schutz der GPL, der das Linken von nicht unter GPL-kompatibler Lizenz veröffentlichtem Code in den Kernel verbietet, könnte ein massives Problem für die Erstellung einer einheitlichen binären API darstellen.

Die Auslegung der Passage der GPL ist allerdings bei vielen umstritten, doch auch Torvalds vertritt die Meinung, dass alle Treiber, die gegen eine Kernel-API gelinkt sein würden, oder gegen einen Kernel linken, auch unter der GPL stehen müssen. Im Gegensatz zu Userland-Applikationen stellen Treiber in diesem Fall ein »Derivative Work«, eine vom Linuxkernel abgeleitete Software dar, die auch den Lizenzbestimmungen der GPL unterliegen muss.

In der Vergangenheit äußerte sich Torvalds schon mehrmals kritisch über eine einheitliche API für Treiber. Zwar bekräftigte Torvalds, dass es für ihn kein Problem darstelle, binäre Treiber einzusetzen und er kein Gegner solcher Lösungen sei, vor allem aber aus Sicht eines Entwicklers stellt sich die Implementierung unter Linux als sehr schwer dar. Unter anderem würden Abhängigkeiten zu Kernel-Symbolen Probleme mit sich führen.

Die betroffenen Firmen stellten nun bei einem Treffen einen alternativen Vorschlag für eine API vor. Dieser sieht eine weitere Abstraktionsebene im Kernel vor, um Treiber und Kernel besser trennen zu können. Es sei den Unternehmen dabei vor allem wichtig, dass die Entwicklung und Validierung der Treiber vereinfacht wird und Treiber-Entwickler und Distributionen entlastet werden. Laut Kroah-Hartman sei die Diskussion allerdings nicht über die dritte Seite gekommen. Angesichts des negativen Touchs der Diskussion und der Erfahrungen, die Kroah-Hartman bei der Division erfahren haben soll, ist davon auszugehen, dass die Vorschläge zumindest von Kroah-Hartman nicht weiter verfolgt werden.

Werbung
Kommentare (Insgesamt: 113 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung