1895664

Linux-Kernel: Die Entwicklung in Zahlen

05.04.2019 | 10:02 Uhr | David Wolski

Linux ist nicht nur ein anpassungsfähiger Kernel, sondern ein beispielloses Phänomen, das die Gesetze von IT-Projekten auf den Kopf stellte. Doch die wilden Zeiten scheinen vorbei, denn die Kernel-Entwicklung professionalisiert sich weiter.

Später als erwartet machte der Linux-Kernel im Februar endlich den Sprung auf Versionsnummer 5.0. Zwar steht hinter dieser Entscheidung wenig mehr als der Wunsch, die Sub-Versionsnummern niedrig zu halten. So beginnt also allein durch eine neue Hauptziffer noch keine neue Zeitrechnung in der Linux-Welt. Trotzdem gibt es seit einer überfälligen Diskussion Ende 2018 zwischen der Linux Foundation, Kernel-Entwicklern und Chefentwickler Linus Torvalds selbst eine spürbare Veränderung in der Zusammenarbeit. Seit Herbst 2018 findet die Linux-Entwicklung unter verbindlichen Verhaltensregeln statt.

Es ist damit absehbar, dass Linux von den Gepflogenheiten größerer IT-Projekte eingeholt wird und dass die Diskussionen mit blumiger bis ausfallender Wortwahl auf der Entwickler-Mailingliste der Vergangenheit angehören. Vorausgegangen waren einige überraschend versöhnlich formulierte Aussagen von Linux Torvalds auf der offiziellen Mailingliste zur Kernel-Entwicklung, in welchen sich der Kernel-Chef für sein Verhalten in der Vergangenheit entschuldigte.

Für Linux-Kenner: So bauen Sie sich ein Linux von Grund auf neu

Benimmregeln für Entwickler

Die Zahl der Linux-Codezeilen ist auf 25 Millionen gestiegen.
Vergrößern Die Zahl der Linux-Codezeilen ist auf 25 Millionen gestiegen.

Einige Kritiker wollen darin schon Zensur oder eine empfindliche Einschränkung des bisher so erfolgreichen Entwicklungsmodells sehen, zu dem bisher auch wortreiche Auseinandersetzungen zählten. Linus Torvalds ist dafür bekannt, mit Schimpfwörtern nicht zurückhaltend zu sein, wenn Entwickler schlechten Code einreichen. Tatsächlich aber haben bereits viele Open-Source-Entwicklergemeinden ähnliche Verhaltensregeln („Code of conduct“) eingeführt, um für einen freundlichen Ton zu sorgen. Die KDE-Community hat diese Regeln, Ubuntu ebenso und neuerdings auch das GNU-Projekt. Aus den Erfahrungen in diesen Entwicklergemeinden ist bekannt, dass Verhaltensregeln bei sorgsamer Anwendung keine negativen Auswirkungen auf eine lebhafte Diskussionskultur haben.

Nach seiner Entschuldigung nahm sich Linux Torvalds eine kurze Auszeit. Währenddessen arbeitete ein Team von etablierten Programmierern wie Greg Kroah-Hartmann an der Durchsicht und Prüfung des neu vorgeschlagenen Codes. Diese Arbeitsteilung besteht schon seit 1998, als der Linux-Kernel gerade mal bei Version 2.1 und klar wurde, dass Torvalds alleine mit der Verabschiedung neuer Funktionen und Patches aus externen Quellen nicht nachkommt.

Aufteilung in Subsysteme

Zudem ist der Kernel in über hundert Subsysteme unterteilt, so etwa zu Netzwerk, SCSI-Unterstützung, ARM- und x86-Plattform. Um jedes Subsystem kümmert sich ein Entwickler als Vorabfilter, um eingereichte Patches zu sortieren. Falls diese sämtliche Kriterien der Nützlichkeit und Codequalität erfüllen, werden sie als fit für den Hauptzweig des Kernels vorgemerkt. Linus Torvalds selbst war nur noch für 0,3 Prozent aller aufgenommenen Patches verantwortlich. Ein klares Indiz dafür, dass die organisatorische Zusammenarbeit wächst, aber auch, dass die Delegierung an Subsystem-Entwickler gut funktioniert. Als Entwicklungschef ist Linus Torvalds aber weiterhin an allen wichtigen Entscheidungen beteiligt und gibt letztendlich jede Kernel-Version frei.

Einen separaten Entwickler-Kernel gibt es seit 2.6 nicht mehr, stattdessen landet neuer Code vorerst in einer Arbeitskopie des letzten Kernel-Codes. Gleichzeitig kümmert sich das Stable-Team um die Rückportierung von Sicherheitspatches für ausgewählte ältere Kernel-Versionen, die Langzeitunterstützung haben. Zur Codeverwaltung kommt seit 2005 das effiziente Versionskontrollsystem Git zum Einsatz, das ebenfalls eine Schöpfung von Linus Torvalds ist und einen Teil der Arbeit automatisiert. So gelingt es, alle zwei bis drei Monate eine neue Kernel-Version fertigzustellen.

Siehe auch: Pannen & Lösungen für typische Linux-Probleme

Mehr professionelle Entwickler

Die aktivsten Kernel- Entwickler im Überblick.
Vergrößern Die aktivsten Kernel- Entwickler im Überblick.

Von den anfänglich nur 10.000 Zeilen Programmcode in Linux 0.1 ist das Projekt zur Version 5.0 auf über 25 Millionen Zeilen angewachsen. Schwindelerregend ist auch die Rate der Änderungen: Pro Stunde akzeptieren die Kernel-Entwickler acht Patches und jede Kernel-Veröffentlichung umfasst jetzt 13.000 bis 16.000 Modifikationen gegenüber der Vorgängerversion. An einer Kernel-Version sind im Schnitt 1400 Entwickler beschäftigt, wobei die Zahl der Hobbyprogrammierer dabei stetig sinkt. Nach dem Report der Linux Foundation ist deren Anteil auf 13,6 Prozent gesunken; alle anderen Entwickler sind bezahlte Profis, die für Firmen aus dem Linux-Umfeld arbeiten. Einen Teil der Chefentwickler, zu der auch Linus Torvalds gehört, bezahlt die Linux Foundation selbst, um den Charakter von Linux zu wahren.

Welcher Kernel für welchen Zweck?

Neben den aktuellen Kernel-Versionen gibt es auch Ausgaben mit Langzeitunterstützung, um die sich Greg Kroah-Hartman als Nummer zwei der Kernel-Entwicklung kümmert. Ursprünglich betrug dieser Zeitraum zwei Jahre. Jedoch beklagten Firmen, die Linux auf spezialisierten Geräten einsetzen, dies als zu kurzen Zeitraum. Mittlerweile werden die Langzeit-Kernel ganze sechs Jahre gepflegt. Dies ist für Embedded-Geräte ideal, welche Treiber und Anpassungen verlangen, die nicht im offiziellen Kernel zu finden sind. Auch Android wird von der längeren Unterstützung profitieren. Derzeit gibt es fünf gepflegte Kernel-Ausgaben: 4.19, 4.14, 4.9, 4.4 und 3.16. Den längsten Unterstützungszeitraum hat der Kernel 4.4 bekommen, der noch bis ins Jahr 2023 Bugfixes und Sicherheitspatches erhalten wird. Laut eigener Aussage wird Greg Kroah-Hartman von Firmen sowie von Anwendern immer wieder befragt, welcher Kernel für ein bestimmtes Projekt ideal sei. Er rät Anwendern dazu, stets bei dem Kernel zu bleiben, den die jeweilige Linux-Distribution mitliefert.

Dabei kann man zwischen drei Kategorien von Distributionen unterscheiden:

Rolling Releases: Diese liefern immer den neuesten stabilen Kernel in ihren Paketquellen mit aus und aktualisieren diesen fortlaufend. Beispiele dafür sind Arch Linux , Open Suse , Gentoo und Core-OS . Auch Distributionen mit einem schnellen Entwicklungszyklus wie Fedora und die reguläre Ubuntu -Ausgabe liefern stets recht frische Kernel aus.

Distributionen mit Langzeitsupport: Systeme wie Ubuntu und Debian wählen eine Kernel-Version und bleiben dann länger bei dieser, liefern aber hin und wieder eine neue Version als Aktualisierung aus. So wechselte das gerade erschienene Ubuntu 18.04.2 vom ursprünglichen Kernel 4.15 auf 4.18.

Langläufer: Diese Kategorie von Distributionen sind für den Serverbetrieb interessant, wenn sich dort über Jahre möglichst wenig ändern soll. Distributionen wie Cent- OS, Red Hat Enterprise Linux und Ubuntu Server bleiben bei einer Versionsnummer und ändern diese grundsätzlich nicht. Patches gegen Bugs und Sicherheitslücken pflegen die Maintainer dieser Distributionen selbst ein, neue Funktionen und Verbesserungen kommen aber nicht hinzu.

PC-WELT Marktplatz

0 Kommentare zu diesem Artikel
1895664