Linux wird 30: Erfolgsfaktoren damals und heute

Seite 3: Schnittstellen für extern gewartete Treiber fehlen

Inhaltsverzeichnis

Die Probleme mit solchen Treibern werden durch eine gerne kritisierte Eigenart von Linux verursacht: Ihm fehlen von jeher Schnittstellen für extern gewartete Treiber. Die proprietären von Nvidia docken daher über ein Modul-Interface an, das für etwas ganz anderes eingeführt wurde: Zum Modularisieren des Betriebssystemkerns selbst, um die auf einem Rechner nicht verwendeten Teile nicht laden zu müssen.

Aus Sicht zentraler Linux-Macher sind diese Andockpunkte für Module ein internes Interface. Sie ändern es daher bei der Weiterentwicklung des Kernels immer mal wieder, um neue Features zu ermöglichen oder Fehler zu korrigieren. Dabei passen sie auch die im Kernel enthaltenen Treiber an die neue Ordnung an, um nicht auf Abwärtskompatibilität achten zu müssen – das würde den Fortschritt hindern, da es viele Umstände macht und einengt. Die Macher externer Treiber müssen ihren Code daher immer wieder nachjustieren, damit er mit neuen Linux-Versionen arbeitet.

Hinzu kommt, dass alte Andockpunkte bei den Umbauten manchmal wegfallen. Viele neue dürfen proprietäre Treiber zudem nicht nutzen. Dies untersagen die Entwickler über die 2003 aufgekommene Schnitstellendeklaration "EXPORT_SYMBOL_GPL", weil sie nicht wollen, dass unfreie Linux-Treiber auf den von ihnen geschriebenen Kernel-Code zurückgreifen. Das passiert zwar nur schleichend, engt proprietäre Treiber wie den von Nvidia aber mehr und mehr ein.

(Bild:  c't 5/19, Auswertung endet bei Linux 5.0)

Diese Entwicklung könnte Nvidia früher oder später dazu zwingen, zumindest teilweise auf quelloffene, im Kernel gewartete Treiber umzusatteln. AMD hat den Wechsel dorthin schon 2007 begonnen und hat den Ansatz seit einigen Jahren gut im Griff. Die Strategie, proprietären Treibern Steine in den Weg zu legen, zahlt sich für die Linux-Macher mittlerweile auch an anderer Stelle aus: In der Embedded-Welt mit ARM-Prozessoren gibt es einen schleichenden Trend hin zu quelloffenen Kernel-Treibern, nachdem proprietäre Grafiktreiber dort bislang fast überall an der Tagesordnung waren.

In Internetforen werden die Hürden für proprietäre Treiber und das Fehlen stabiler Treiberschnittstellen gerne als riesiges Manko von Linux angesehen und oft als Hauptgrund dargestellt, warum "Linux auf dem Desktop" ein Nischendasein fristet. Die Kritiker übersehen dabei oft: Eben diese Eigenschaften zusammen mit der Lizenz sind die Hauptgründe, warum Linux überhaupt so gut ist. Denn sie haben einige Individuen und viele Firmen dazu motiviert, ihre Treiber und andere Modifikationen in Linux einzubringen.

Für einen vermeintlichen Vorteil bisherige Prinzipien aufzugeben, denen letztlich auch die vielen Helfer zu verdanken sind, hätte fatale Folgen für die künftige Entwicklung und Bedeutung von Linux. Ohnehin scheint es weit hergeholt, dass stabile Treiber-Schnittstellen so entscheidend für den Erfolg von Linux auf Desktop-PCs wären. Denn es geht auch ohne, wie der Erfolg von Android und ChromeOS zeigt. Oder auch der Erfolg der ersten Netbooks, auf denen Linux dominierte, bis Microsoft es mit einigen Manövern ins Abseits drängen konnte.

Zum 30sten sei daher gesagt: Bleib Dir treu Linux, und gib Deine positiven Eigenarten nicht auf. Mit einigen von ihnen hast Du schließlich die IT-Welt revolutioniert – und dabei über den Erfolg bei Android und Server mehr Leute erreicht, als Du es über Desktops je hättest tun können. Und ich bin sicher: Über Chromebooks und ähnliche Konzepte wirst Du Dir in den nächsten 30 Jahren auch noch einen größeren Anteil auf den Schreibtischen sichern.

(ovw)