c't 10/2021
S. 48
Titel
Linux-Kernel
Bild: Thorsten Hübner

Strippenzieher

Wer bestimmt, wo es mit dem Linux-Kernel hingeht

Bei der Linux-Entwicklung kann jeder ­mitmachen und mitregieren, genügend ­Eigenantrieb vorausgesetzt. Durch diese ­Offenheit geben aber auch jene die Marschrichtung vor, die mit viel Engagement und ­Ressourcen zur Tat schreiten.

Von Thorsten Leemhuis

Ehrenamtlich geführte Kaninchenzüchter- oder Sportvereine haben einen wichtigen Aspekt mit der Entwicklung des Linux-Kernels gemein: Noch so viele Leute können „Da muss doch endlich mal einer was machen, das ist wirklich wichtig!“ rufen – in der Regel wird nichts passieren, solange kein Freiwilliger vortritt, um sich der Sache anzunehmen.

Genau wie bei Vereinen passiert das bei Linux oft aus einer Motivation heraus, etwas zu machen, wovon man selbst profitiert. Oder wie es in der Open-Source-Welt so schön heißt: „Scratch your own itch.“ Eine Folge dieser Herangehensweise: Manchmal fließt beim Kernel enorm viel Arbeit in extravagante Features für Server oder Smartphones, während sich zugleich wenig bei Problemen tut, die Heimanwender plagen.

Diktator

Oberhaupt der Entwicklung ist Linus Torvalds, der den Linux genannten Kernel vor bald 30 Jahren aus der Taufe gehoben hat. Nach wie vor geht jede noch so kleine Änderung am Quellcode durch seine Hände. Torvalds gilt durch seine Position auch als „Benevolent Dictator for Life“ (BDFL), also als „Wohlwollender Diktator auf Lebenszeit“.

Wohlwollend muss der Linux-Begründer auch sein, denn er ist ein Diktator ohne Armee, Polizisten oder Beamte, denen er was vorschreiben kann; nicht einmal Leute für die Drecksarbeit stehen ihm zur Seite. Er hat nur ein großes Volk von Freiwilligen, die ihm aus irgendeiner Motivation heraus helfen. Die meisten machen das, indem sie Verbesserungen entwickeln und ihm zuschicken, damit er sie in seinen Kernel einbaut. Meist tun sie das, weil sie selbst was davon haben.

Linus Torvalds mag Oberhaupt der Kernel-­Entwick­lung sein: Entwickelt wird Linux letztlich von Freiwilligen, die an Dingen arbeiten, nach denen ihnen der Sinn steht.

Triebkraft

Freiwillige klingt, als würden die Programmierer zum Spaß beitragen. Ihr Antrieb ist aber oft Geld: Circa 84 Prozent der Anpassungen stammen von Entwicklern, die irgendwer für ihre Mitarbeit am Kernel bezahlt. Das zeigt der „Linux Kernel History Report 2020“ der Linux Foundation (ct.de/yhv2) für den die Autoren die Änderungen untersucht haben, die zwischen 2007 und Ende 2019 in den Kernel eingeflossen sind.

Hobbyentwickler haben in dem Zeitraum knapp zwölf Prozent aller Änderungen beigesteuert, die Torvalds in die Kernelquellen eingepflegt hat. Auf der Top-20-Liste der Studie stehen sie damit ganz oben, direkt vor dem Chipkonzern Intel: Dessen Angestellten haben rund zehn Prozent der Anpassungen eingebracht.

Die meisten von Intels Änderungen betreffen Treiber- und Architekturcode. Sie sorgen dafür, dass die Chips der Firma gut und schnell unter Linux laufen. Vor allem jene für Server, schließlich ist das eine lukrative Branche, in der Linux große Bedeutung hat. Für den Umsatz wäre es daher fatal, wenn Intels Bausteine nicht oder nur schlecht mit dem Kernel liefen.

Stromaufwärts

Gäbe es im Serverbereich nur ein oder zwei dominierende Betriebssysteme auf Linux-Basis, könnte Intel seine Änderungen einfach an deren Hersteller schicken, damit die sie in ihre Kernel einbauen. In diesem Markt gibt es aber rund ein Dutzend verschiedene Linux-Distributionen, die größere Bedeutung haben – darunter auch welche, die einige Weltkonzerne lediglich hausintern einsetzen.

Das motiviert Firmen wie Intel dazu, die Kernel-Verbesserungen zur Integra­tion an Torvalds zu schicken – also stromaufwärts („upstream“) zur Quelle. Das geschieht über Betreuer von Teilbereichen des Kernel-Codes („Subsystem Maintainer“, siehe S. 58). Der Prozess macht Unternehmen allerdings einiges an Extra-Arbeit, denn dabei erfolgt eine öffentliche Qualitätskontrolle. Bei der fordern Maintainer oft Verbesserungen, bevor sie gewillt sind, die Änderung anzunehmen.

Den Aufwand stemmt Intel, weil die Änderungen von da ganz automatisch stromabwärts in Linux-basierte Betriebs­systeme fließen: Deren Macher greifen neue Kernel-Versionen wegen ihrer vielen Verbesserungen früher oder später auf. Intel und andere Firmen haben aber auch eingesehen, dass sie von der Qualitätskontrolle der Linux-Entwickler profitieren. Durch die Integration in Torvalds’ Kernel durchlaufen alle Änderungen zudem einen großen Feldtest; bei dem finden und melden Programmierer und einfache Nutzer oft Fehler, die sonst Intels Kunden geplagt hätten.

Spezialfälle

Selbst wenn Firmen wie Intel extravagante Änderungen einreichen, lehnen Torvalds und seine Mitstreiter die meist nicht ab: Wichtig ist nur, dass die Codequalität stimmt und die Änderung keine Nachteile für den Kernel als Ganzes bringt. Denn eine Zurückweisung könnte die Motivation von Mitwirkenden töten. Schlimmer noch, es könnte Intel oder andere animieren, sich mit Gleichgesinnten im Servermarkt zu verbünden, um den Linux-Code unter anderem Namen ohne Torvalds weiterzuentwickeln. Darum integriert er selbst Treiber für Geräte, die nur eine einzelne Firma hausintern in sehr kleiner Stückzahl einsetzt.

Intel arbeitet dabei keineswegs nur am Treiber- und Architekturcode, sondern auch an der anliegenden Infrastruktur – etwa dem Code zur Speicherverwaltung (Memory Management) oder beim Prozessorzeit verteilenden Prozess-Scheduler. Kein Wunder, denn mit Änderungen in den Bereichen kann Intel manchmal mehr Performance aus seinen Chips kitzeln und so am Markt punkten.

Kommentare lesen (1 Beitrag)