Linux-Kernel: Entwickeln im Pfad der Verantwortung
Insgesamt 46.000 Dateien bestehend aus 18.300.000 Zeilen Code machen den aktuellen Linux-Kernel 3.14 aus. Mehr als 3.100 Entwickler und etwa 450 Unternehmen arbeiten an dem vielleicht größten Open-Source-Projekt und erreichen durchschnittlich etwa 7,5 Änderungen pro Stunde. Nur mit einer über Jahre hinweg gewachsenen Ordnung ist es überhaupt möglich, neue Versionen des Linux-Kernels in einem Rhythmus von zweieinhalb Monaten zu veröffentlichen. Der Kernel-Maintainer Greg Kroah-Hartman hat in seiner Keynote auf dem Linuxtag 2014 Einblicke in die Struktur der Kernel-Entwicklung gegeben.
Änderungsvorschläge am Linux-Kernel kämen fast ausschließlich von externen Entwicklern, sagte Kroah-Hartman. Die meisten seien bei Unternehmen angestellt, die selbst den Linux-Kernel einsetzen. Hinzu komme eine Flut von Verbesserungsvorschlägen und Bugfixes. Neben seiner Beteiligung an ein paar persönlichen Projekten sei er ausschließlich damit beschäftigt, E-Mails zu beantworten und den darin enthaltenen Code zu prüfen.
Der Maintainer als Schnittstelle
Beiträge von Entwicklern werden nach einem strikten Regelwerk geprüft, bevor deren Code im Linux-Kernel landet. Sie müssen zunächst per E-Mail an denjenigen überreicht werden, der den entsprechenden Treiber oder die Datei betreut – den Maintainer. Der muss den Code prüfen, bevor er den Änderungsvorschlag an den Maintainer des entsprechenden Subsystems weiterleitet, in dem der Treiber oder die Datei eingebunden werden soll. Erst dann landet der eigentliche Code in Linux-Next, dem Entwickler-Zweig des Linux-Kernels.
Geht eine neue Version des Linux-Kernels in die Entwicklungsphase, müssen die Subsystem-Maintainer entscheiden, welchen Code sie aus Linux-Next zur endgültigen Freigabe an Linus Torvalds schicken.
Entwickeln auf Vertrauensbasis
Das System beruht auf Vertrauen. Torvalds vertraut seinem Subsystem-Maintainer, der wiederum seinem Maintainer vertraut. Die versendeten E-Mails sind gleichzeitig eine Art Garantie (Certificate of Origin), dass der Code mindestens von zwei Entwicklern geprüft wurde. Kroah-Hartman nennt das den Pfad der Verantwortung (Path of Blame). Denn jeder Adressat einer solchen E-Mail trägt ein gewisses Maß an Verantwortung für den Code. Dabei geht es weniger darum, jemanden bei einem Fehler zur Verantwortung zu ziehen, sondern darum, einen Entwickler ansprechen zu können, um einen Fehler zu korrigieren.
Der Code selbst wird über Git in den Quellcode des Kernels eingepflegt, den kaum ein Maintainer ansieht. Diese Kombination aus E-Mail und der Verwendung von Git hat sich bewährt. Die Review-Funktion von Github, so Kroah-Hartman, würde für ein so großes Projekt wie den Linux-Kernel nicht funktionieren.
Toller Job
Er liebe seinen Job, sagte Kroah-Hartman, der für Suse arbeitete, bevor er wie Torvalds von der Linux Foundation angestellt wurde. Er könne seine Arbeit von zu Hause aus erledigen und habe Zeit für seine Familie, auch wenn er oft mehr als acht Stunden pro Tag seine E-Mails beantworte. Er dürfe viel reisen und habe Freunde überall auf der Welt. "Also werdet Kernel-Entwickler" , rät er. Jeder Beitrag sei willkommen. Statistisch gesehen reichten fünf akzeptierte Patches am Linux-Kernel, um als Entwickler einen Job zu bekommen.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.