Auf dem Open Source Summit in Prag diskutierte Kernel-Chef Linus Torvalds mit Dirk Hohndel über Fuzzing als Security-Maßnahme, Version 5.0 des Kernel und den Maintainer-Mangel. Zugleich veröffentlichte die Linux Foundation den jährlichen Kernel Development Report.
Linus Torvalds mag keine Interviews und Vorträge, das machte er gleich zu Beginn seines Auftritts auf dem Open Source Summit klar. Immerhin ließ er aber wie schon häufiger die Fragen seines Tauchkumpels Dirk Hohndel über sich ergehen und hatte scheinbar auch ein wenig Spaß an der Sache.
Tough Love
Eine der ersten Fragen betraf den Nachwuchs, speziell den Maintainer-Nachwuchs. Denn auch wenn die Linux Foundation eine fünfzehnjährige Programmiererin auf die Bühne schickte, braucht die Kernel-Community in der echten Welt Nachwuchs, unter anderem bei den Maintainern. Auch wenn es aufgrund seiner Äußerungen manchmal nicht so aussehe (“It’s a tough love”), brauche Linux Maintainer, gab Linus zu Protokoll. Aber es sei nicht einfach. Maintainer müssen erst den komplexen Workflow verstehen und beherrschen, zudem zuverlässig für die Community da sein. Eine Möglichkeit, das Problem anzugehen, seien Maintainer-Gruppen. Mit ihrer Hilfe lassen sich etwa urlaubsbedingte Ausfälle auffangen. Von einem Mentoring-Programm für Maintainer zeigte sich Torvalds hingegen weniger überzeugt: Meist wachsen neue Maintainer seiner Erfahrung nach organisch heran, seien also erst Entwickler und später Maintainer.
Fuzzing zu Hilfe
Auch das heiße Thema Security kam einmal mehr auf den Tisch. Hier gibt Linus freimütig zu, dass Security-Leute häufig nicht seine “favorite kind of people” seien. Ihre Einstellung (“Look at me, I found a bug!”) diene in seinen Augen oft eher dem Selbstmarketing, ihm seien solche Security-Leute lieber, die still und effizient im Hintergrund arbeiten. Dennoch sei Security an sich ein wichtiges Thema.
Linus glaubt an Fuzzing, also automatisierte, zufällige Tests, die Sicherheitslücken aufdecken. Wenn Code gut aussieht, würden Entwickler nicht mehr so genau hinschauen und Fehler übersehen. Tools finden hingegen auch solche Bugs, die Menschen nicht sehen. Die Fuzzing-Tools hätten sich deutlich besser entwickelt als er vor fünf, sechs Jahren erwartet hätte. Auch, weil einige Unternehmen in diesem Bereich große Anstrengungen leisten.
Etwas weniger ernsthaft waren die Fragen nach seiner neu entflammten Liebe für C++. Dass Linus kein Fan von C++ ist, dürfte bekannt sein. Weil er aber an einer Tauchsoftware arbeitet, die auch C++ verwendet, habe Dirk Hohndel neben ihm gesessen, als Linus den C++-Code kompilieren musste, was ihm offenbar große Schmerzen bereitete. Kommentar des Kernel-Vaters: Er sei nicht in der Lage, so zu arbeiten.
Auch über die Versionsnummer 5.0 machte Linus Späße: Er versuche zu verschleiern, dass die Vergabe der Versionsnummern recht zufällig funktioniere. Irgendwann bei den .20er- und .30er-Versionen könne er die Zahlen nicht mehr gut genug unterscheiden. Vermutlich sei daher Anfang oder Mitte 2018 mit dem Sprung auf die Version 5.0 zu rechnen.
Nackte Zahlen
Passend zum Kernel Summit, der parallel zum Open Source Summit stattfindet, gab die Linux Foundation ihren jährlichen Kernel Development Report heraus. Seit Git das Tracking der Entwicklung erlaube (seit 2005), haben rund 15 600 Entwickler von 1400 Firmen zum Kernel beigetragen. Seit dem letzten Kernel-Report arbeiteten insgesamt 4300 Entwickler aus 500 Firmen am Kernel, 1670 davon brachten zum ersten Mal Code ein.
Die Top-5-Unternehmen in der Kernelentwicklung sind Intel, Red Hat, Linaro, IBM und Samsung, wobei die zweitgrößte Gruppe an Codezulieferern (8,2 Prozent) aus unbezahlten Entwicklern ohne Firmenhintergrund besteht und die fünftgrößte aus solchen, bei denen unklar bleibt, welcher Firma sie angehören. Die höchsten Raten an Patches in der gesamten Kernelentwicklung landete in den Versionen 4.9 und 4.12, wobei die Entwickler stündlich durchschnittlich 8,5 Änderungen akzeptieren, auch das eine steigende Zahl.
Was den Kernel besser macht
Auch einige der bedeutenden neuen Features seit Kernel 4.7 listet das PDF mit dem Report auf. Dank des transparenten Huge-Page-Features nutzt der Kernel nun Speicher effizienter. Die Dokumentation wurde auf eine Sphinx-Basis gestellt, die Tools überarbeitet. Das erlaubt es, die Arbeit besser zu organisieren und die Dokumentation zu verbessern. Der Express-Data-Path im Networking-Stack erlaubt es Nutzern, in der kernelinternen virtuellen Maschine BPF Pakete in hoher Geschwindigkeit zu verarbeiten. Zugleich verbesser die BBR Congestion Control die Netzwerk-Performance in vielen Fällen. Swapping skaliert besser, der Core Time im Kernel arbeitet effizienter, der Systemcall “statx()” ist im Kernel gelandet.
Das sind nur einige der Feature-Highlights, die in den letzten Kernelversionen gelandet sind, das PDF listet noch eine Reihe weiterer Verbesserungen auf. Wer sich für dieses Thema interessiert, findet zudem in den Kernel-News des Linux-Magazin regelmäßige Updates.




