Login
Newsletter
Werbung

Do, 14. Dezember 2006, 10:03

Software::Systemverwaltung

Bald keine proprietären Treiber mehr im Linux-Kernel?

Die Entwickler des Linux-Kernels haben über Möglichkeiten diskutiert, proprietäre Treiber aus dem Kernel in den Userspace zu verlagern.

Anlass der erneuten Diskussion war ein Patch von Greg Kroah-Hartman, der dem Kernel eine Schnittstelle für Userspace-Treiber hinzufügen soll. Linus Torvalds lehnte den Patch zunächst entschieden ab, es ist jedoch möglich, dass er sich überzeugen lässt, die Schnittstelle in Kernel 2.6.20 noch aufzunehmen.

Eine erste Version der besagten Schnittstelle hatten Benedikt Spranger und Thomas Gleixner bereits im August als »Industrial IO device driver« vorgestellt. Ihr wichtigster Punkt ist die Behandlung von Interrupts, für die nach wie vor ein klein wenig Kernel-Code bereitgestellt werden muss, da sich Interrupts im Userpace nicht vernünftig behandeln lassen. Jeder Interrupt kann über eine Kernel-Schnittstelle der darauf wartenden Anwendung mitgeteilt werden. Die weiteren Zugriffe auf das Gerät erfolgen aus dem Programm heraus über I/O-Befehle und Memory-Mapped I/O.

Wie Thomas Gleixner erklärte, genügt diese Schnittstelle zumindest den Anforderungen vieler industrieller Geräte, für die bisher proprietäre Kernel-Treiber entwickelt wurden. Viele dieser Geräte bestehen lediglich aus Dual-Port-Speicher, auf den über Memory-Mapped I/O zugegriffen werden kann, und einem Interrupt-Anschluss. Seinen Angaben zufolge ist die Performance einer angepassten Anwendung in Kombination mit der neuen Schnittstelle bis zu 20% höher als bei einem reinen Kernel-Treiber.

Ob sich die neue Schnittstelle für alle Treiber eignet, die derzeit als proprietäres Kernel-Modul vorliegen, ist noch nicht ganz klar. Sicher ist, dass viele der Kernel-Entwickler die Verbannung jeglichen proprietären Codes aus dem Kernel befürworten würden. So hat Andrew Morton bereits vorgeschlagen, die entsprechenden Kernel-Schnittstellen für proprietäre Module zu markieren, so dass sie nicht mehr verwendet werden sollten. Nach einer Übergangsfrist von zwölf Monaten könnte dann der Zugriff dieser Module ganz verboten werden.

Nach Auffassung manch eines Kernel-Entwicklers sind Kernel-Module abgeleitete Werke des Kernels, und für diese schreibt die GPL vor, dass sie unter der gleichen Lizenz wie der Kernel stehen müssen. Diese Auslegung der Passage der GPL ist allerdings umstritten, doch auch Linus Torvalds vertritt die Meinung, dass alle Treiber, die gegen eine Kernel-API gelinkt sind oder gegen einen Kernel linken, auch unter der GPL stehen müssen. Im Gegensatz zu Userspace-Anwendungen stellen Treiber in diesem Fall eine vom Linux-Kernel abgeleitete Software dar, die auch den Lizenzbestimmungen der GPL unterliegen muss.

Für Hersteller proprietärer Treiber würde das bedeuten, dass sie auch ihre Treiber unter die GPL stellen müssten. Bisher hat zwar niemand versucht, dies zu erzwingen, doch würde auch nach Meinung von Greg Kroah-Hartman »ein einziger Entwickler«, der dies versucht, ausreichen, um die bisherige Praxis zu Fall zu bringen.

Werbung
Kommentare (Insgesamt: 51 || Alle anzeigen )
Re: Ideologie-Gezänk (Benedikt Spranger, Di, 9. Januar 2007)
Re[2]: Gute Entscheidung (Benedikt Spranger, Di, 9. Januar 2007)
Re[3]: Gute Entscheidung (Benedikt Spranger, Di, 9. Januar 2007)
Re[2]: Ideologie-Gezänk (Sebalin, Fr, 15. Dezember 2006)
Re[2]: Ideologie-Gezänk (Sebalin, Fr, 15. Dezember 2006)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung