“See-Krieg im Kernelmeer”

Greg Kroah-Hartman hat sich vor zwei Wochen mit einigen Hardware-Herstellern angelegt und gibt nun einen “Warnschuß vor den Bug”: Ein Fun-Patch ändert die Sichtbarkeit der PCI-Funktionen im Kernel von EXPORT_SYMBOL auf EXPORT_SYMBOL_GPL. Damit soll Diskussionen, welche immer wieder eine feste Kernel-API für Closed-Source-Treiber ins Gespräch bringen, ein Dämpfer versetzt werden. Kroah-Hartman schätzt die durch Closed-Source-Treiber verursachten Risiken höher ein als den Gewinn in Form vom breiterem Hardware-Support.

Ich gehe in diesem Punkt völlig konform mit seiner Ansicht, auch wenn es jede Menge anderer Standpunkte gibt. Für mich ist Verfügbarkeit von Informationen, Spezifikationen und Treibern Teil des Kaufpreises. Meiner Ansicht nach habe ich mit dem Kauf der Hardware ein Recht darauf, sie auch  angemessen benutzen zu können. Und vor allem will ich meine Hardware auch in einigen Jahren noch voll nutzen können. Dass das nicht in den Plan eines Herstellers passt, der vom Verkauf neuer Geräte lebt, ist mir klar, aber ich nehme dann einfach mein Recht in Anspruch, diese Hardware nicht zu kaufen. Der Markt ist zu groß und zu vielfältig, als dass man nicht früher oder später das Richtige finden würde. Wenns gar nicht geht, muss man dann eben auch mal verzichten. Mir egal.

Es gibt bestimmt einen große Menge von Nutzerv welche sich nicht für rechtliche Geschichten egal sind, welche den Unterschied zwischen Open- und Closed Source nicht kennen, welche einfach funktionierende Treiber wollen, egal wie. Nun, möglicherweise benutzen diese ihr freies Betriebssystem dann aus (meiner Sicht nach) falschen Motiven und leisten sich eine gefährliche Portion Ignoranz. Das böse Erwachen kommt vielleicht später. Denn während Open-Source-Treiber immer weiterentwickelt und angepasst werden, kann der Hersteller den Support für seine Version stets ohne Vorwarnung einstellen. Bevorzugt bei der Einführung einer neuen Produktlinie.

Mir hat sich diese böse Absicht beim Update des Closed-Source-Treibers von NVIDIA gezeigt, und seither bin ich geheilt.

In einer der letzten Versionen der NVIDIA-Binaries wurde ohne Vorwarnung der Support für die alten TNT2-Chipsätze eingestellt. Das Modul ließ sich noch übersetzen und laden, doch X wollte nicht mehr starten, und wie ich aus dem Kernel-Ringpuffer erfahren durfte, sollte ich nun den mit XFree/X.Org mitgelieferten nv-Treiber nutzen. Das wäre eigentlich kein Problem und mir sogar Recht, wenn NVIDIA nicht versuchen würde, mir einen Treiber ohne 3D- und mit unzureichender 2D-Beschleunigung unterzuschieben. Ich lasse mir nur ungern eine Grafikkarte via Software zu “Müll” erklären, wenn diese vor nicht allzu langer Zeit für etwa 200 Mark über den Ladentisch ging. Aber mittlerweile ist man halt im Krieg mit ATi, jede verkaufte Karte zählt, und Intel wäre bestimmt auch nicht abgeneigt wenn ich den Rechner auch gleich durch einen nagelneuen P4 ersetze. Eine Weile kann man mit den älteren Treibern leben, irgendwann ist man dann aber aus verschiedensten Gründen (Sicherheit, fehlende/neue Features, Bugs) auf einen neuen Kernel und ein neues X angewiesen, dann ist Schluss.

Nun ist NVIDIA aber bei Weitem nicht das einzige Negativ-Beispiel, wenn auch das wahrscheinlich am Besten sichtbare. Seit man sich im Kampf mit NVIDIA befindet, lässt sich auch ATi keine Details mehr entlocken. Die neuen Grafikchips haben scheinbar einen komplett überarbeiteten 2D-Teil, für welchen keine Dokumentation vorliegt, statt dessen gibt es nun den proprietären fglrx-Treiber. Letzen Endes kann ein guter Treiber eine schlechtere Karte eben etwas besser dastehen lassen. Aber auch in weniger kritischen Bereichen, etwa bei “Soft-Modems” (Bestandteil vieler Notebooks) gibt es wenig Unterstützung. WLAN-Chipsätze. Card-Reader. USB-Kameras. All die wenig bekannten Zusatz-Karten und “Peripherie-Gerätchen”.

Von Open-Source-Treibern profitieren ja auch nicht nur Nutzer freier Betriebsysteme. Auf Grundlage der freien SoundBlaster-Treiber von Creative sind etwa Windows-Treiber entstanden, welche besser laufen als das Original. Ein ganzes Paket von DVB-Treibern für Mac OS X fußt auf der Arbeit an linux-dvb. Closed-Source-Treiber bringen auch nicht unbedingt eine höhere Stabilität mit sich. NVIDIA etwa greift für seine Grafikkarten-Treiber nicht direkt auf bereits bestehenden Code wie DRI und AGPGART zurück, sondern hängt an allen möglichen Stellen im System eigenen Code ein. Dadurch entstehen leicht zusätzliche Sicherheitslücken. Für Bugfixes und Optimierungen ist der Nutzer stets auf das Wohlwollen des Herstellers angewiesen, dieser hat dann möglicherweise aber gar keine Lust, nimmt Anregungen nicht Ernst oder veröffentlicht nur selten Updates.

Vielleicht überschätzen Ich die Macht von Linux auf dem Desktop, vielleicht sind unsere Hoffnungen mehr Traum als Wirklichkeit und der Widerstand gegen proprietäre Treiber bringt auf lange Sicht keine Besserung. Vielleicht ist das Verhalten vieler Hersteller aber auch nur ein mit den Jahren gewachsenes und mittlerweile akzeptiertes Fehlverhalten, an dem Hersteller wie Apple und Microsoft nicht ganz unschuldig sind. Es gibt schließlich auch eine ganze Stange Hardware (Chipsätze, CPUs, SCSI/ATA-Controller, Netzwerkkarten, Soundkarten, USB-Controller, IEEE1394 etc.) für welche ganz einfach freie Treiber vorliegen.

Als Schlusswort unter diesen recht langen Beitrag setze ich ein Zitat von Benjamin Herrenschmidt, welches im Zusammenhang mit dem Patch von GregKH ausgesprochen wurde:

“There is no point in having Linux on the Desktop if it’s at the cost of it being the same crap that Windows is.”