Die neue Version 3.11 von Linux konnte den Sommer hindurch reifen. Mehr Reife im Umgang der Entwickler verlangt Intels Sarah Sharp. Mathias Menzer durchleuchtet die Linux-Updates und -Hintergründe der beiden Sommermonate.
Im Juli konnten die Kernel-Entwickler zwei Wochen lang ihre Merge Requests einreichen – die Änderungsanfragen für den Linux-Kernel. Danach liess Chef-Entwickler Linus Torvalds den Reifeprozess beginnen mit der Freigabe von Linux 3.11-RC1. Der Patch zum aktualisieren der Quellen von Linux 3.10 auf die aktuelle Entwicklerversion (3.11-RC1) wurde im Vergleich zur Version 3.09 etwas kleiner. Auch die Zahl der Beiträge (Commits) und die Menge der geänderten Dateien wurden weniger.
Torvarlds legt Osterei mit Windows
Abseits der technischen Details heben zwei Merkmale den Linux-Kernel 3.11 aus seiner Ahnenreihe hervor: Nach längerer Zeit wurde der Name des Kernels geändert – Aus dem einradfahrenden Gorilla («Unicycling Gorilla») wurde «Linux for Workgroups». Damit spielt Torvalds auf die aktuelle Versionsnummer 3.11 an und schlägt eine Brücke zu dem vor fast 20 Jahren veröffentlichten Windows for Workgoups 3.11.
Die zweite, noch seltenere Änderung hängt direkt mit der Ersten zusammen. Nun schwenkt der kleine Tux eine Fahne in den Windows-Farben der Prä-Windows-XP-Ära. Das Boot-Logo wurde in den letzten zehn Jahren nur einmal gegen das des Tasmanischen Beutelteufels «Tuz» ausgetauscht, um auf die Bedrohung dieser Tiere durch eine Krebserkrankung aufmerksam zu machen. Diesen Startbildschirm sieht man aber nur auf Systemen, in denen der Startvorgang nicht durch den grafischen Startbildschirm der jeweiligen Distribution verdeckt ist.
Tablets, Micro-Server und Supercomputer profitieren ab Linux 3.11
Auf technischer Seite entfiel ein guter Teil der Änderungen auf den Auszug des verteilten Dateisystems Lustre aus dem Staging-Bereich. Lustre ist insbesondere für den Einsatz besonders leistungsfähiger Superrechner gedacht, wird unter der GPLv2 entwickelt und findet sich bereits im Umfeld mehrerer der TOP500-Superrechner im Einsatz.
Die Treiber für die Temperatur-Regelung einiger Prozessoren von Texas Instruments konnten den Staging-Bereich verlassen, was unter anderem dem in verschiedenen Android-Smartphones und -Tablets genutzten OMAP4460 zugute kommt.
Die Virtualisierungslösung KVM steht seit Linux 3.9 bereits auf 32bit-ARM-Prozessoren zur Verfügung und wurde nun um Unterstützung für ARM64 ergänzt. Dies unterstützt die Entwicklung der Micro-Server, die mittels Mini-Prozessoren einen geringen Energieverbrauch aufweisen und in denen ARM- oder Intel-Atom-Prozessoren eingesetzt werden.
Kroah-Hartman entfernt undokumentierten WLAN-Treiber
Die zweite Entwicklerversion (RC2) von Linux 3.11 wurde wenig geändert. Linux 3.11-RC2 wurde durch das Entfernen des CSR-Treibers geprägt. Diesen W-LAN-Treiber schmiss Greg Kroah-Hartman aus dem Staging-Zweig, weil die Spezifikationen des CSR-Treibers auch nach über einem Jahr Arbeit fehlten. Kroah-Hartman begutachtet im Staging-Zweig Patches von anderen Entwicklern, pflegt sie ein und überführt sie in die Entwicklerversion des Kernels. Die Änderung erklärt mit über 90’000 entfernten Zeilen an Quelltext schon 90 Prozent des Patches. Weniger betroffene Quelltextzeilen, dafür jedoch die Hälfte der in diesem Patch bearbeitete Dateien betrifft das Entfernen der Markierungen für die bereits zuvor ausgemusterte Funktion «cpuinit».
Eine weitere Änderung sollte Fehler mit Systemen beheben, deren BIOS für das Zusammenspiel mit Windows 8 optimiert sind. Windows 8 regelt die Bildschirmhelligkeit über den Grafiktreiber anstatt ACPI und so setzen dafür angepasste BIOS-Versionen dies auch voraus. Um nun auch unter Linux die Bildschirmbeleuchtung ansteuern zu können, sind Anpassungen am ACPI- sowie dem Grafik-Treiber notwendig, damit entsprechende BIOS-Versionen erkannt werden und die Helligkeitskontrolle dann vom Grafiktreiber werden kann. Übrig blieben danach noch Fehlerkorrekturen, von denen die meisten auf das Dateisystem ext4, die Audio-Architektur ALSA und die Radeon-Grafik-Treiber entfielen.
Linux 3.11-rc3 zeichnete sich durch zwei sogenannte «Reverts» aus. Das sind Rücknahmen vorhergehender Änderungen. Zuerst fiel die Anpassung an das Verhalten auf Windows 8 optimierter BIOS-Versionen negativ auf, da dadurch zwar in einigen Fällen die Probleme behoben wurden, in anderen jedoch neue verursachten. Eine weitere Korrektur im Umfeld der Verschlüsselungsfunktionen konnte ebenfalls nicht überzeugen, da sie bei einigen Systemen für Startprobleme sorgte. Die ursprüngliche Änderung sollte die eine bestimmte Funktion zum Berechnen von CRC-Prüfsummen verbessern. Diese Funktion, CRC-16-T10-DIF, wird für die Prüfung der Integrität von Datenpaketen genutzt.
Ruppiger Ton auf der Mailing-Liste
Nicht zum ersten Mal sind die Umgangsformen im Umfeld freier Software ein Thema. Diesmal störte sich die für ihre Arbeit am USB-3.0-Stack bekannte Entwicklerin Sarah Sharp an einer Diskussion darüber, wie am Entwickler einschüchtere. Unter anderem zitierte sie einige Tipps aus Mails von Ingo Molnar und Linus Torvalds: «sei offen gegenüber Mitwirkenden und fluche manchmal ein bisschen. Das wird deine E-Mail-Warteschlange auf die Hälfte kürzen» oder «Du solltest lernen, Leute anzuschreien».
«Not fucking cool» meinte Sharp daraufhin und sprach sich für einen professionellen Umgang auf der Mailing-Liste aus. Einschüchterung, Drohungen und Beschimpfungen seien ihrer Ansicht nach nicht akzeptabel. Sie kündigte an, dies auf dem Kernel Summit anzusprechen, wo man sich wenigstens leibhaftig anschreien könne. Sie hat ihre Kritik auch zusammengefasst via ihren Blog verbreitet.
Torvalds begründete seine Umgangsformen mit seiner eigenen Art und damit, dass er es hasst, subtil oder nett zu sein. Man müsse seinen Standpunkt kennen und im Internet könne man nicht sagen «bitte tu das nicht», weil niemand darauf hört. Er habe sonst nicht viele Instrumente zur Hand, um Entwickler zu beeinflussen.
Sharp schlägt die Ausarbeitung eines Verhaltenskodex für Kernel-Entwickler vor, anhand dessen Entwickler ihr Verhalten entsprechend anpassen können. Wer sich dicht daran halten möchte, bräuchte auch nicht mit den Entwicklern zusammenarbeiten, die den Kodex unterzeichnet haben.
Auch wenn Torvalds einen seiner grösseren Ausbrüche zu bedauern scheint, bleibt es eher zweifelhaft, ob sich der Ton auf der «Linux Kernel Mailing List» grossartig ändern wird. Die Ergebnisse der Aussprache zu diesem Thema auf dem Kernel Summit in Edinburgh kommenden Oktober dürften dennoch interessant werden.
Grosser Umzug der Druckfunktion
Die Entwicklung von Linux 3.11 ist noch nicht zum Ende gelangt. Die vierte Entwicklerversion liess noch keine Anzeichen zur Beruhigung erkennen und hatte nahezu das gleiche Volumen wie RC3. Immerhin lässt sich ein guter Teil der Änderungen auf den Umzug der Druckfunktion «printk()» in ein eigenes Unterverzeichnis zurückführen. Dies ändert zwar nichts an der Funktionalität, sorgt aber für ein wenig Ordnung.
Am 11. August legte Torvalds den fünften Entwicklerkernel (RC5) vor, zwanzig Jahre nach Erscheinen von Windows for Workgroups 3.11, von dem er den Namen für diese Linux-Kernel-Version entliehen hat. Seine Veröffentlichungs-Mail lässt darauf schliessen, dass er insgeheim hoffte, Linux 3.11 an diesem Datum als fertige Version zur Verfügung stellen zu können, doch eine Entwicklungszeit von nur 42 Tagen war dann doch etwas unrealistisch. Immerhin ging das Volumen der Änderungen ein gutes Stück zurück und konnte als Signal für die Stabilisierung in der Entwicklung gesehen werden. Linux 3.11-rc6 konnte diesen Trend fortsetzen und wies abermals weniger Änderungen auf. Neben der Korrektur eines älteren, jedoch nur selten ausgelösten Fehlers in einem Teil der Speicherverwaltung, nahmen sich die Patches recht unspektakulär aus.
Die siebte Entwicklerversion konnte wieder mit einem besonderen Datum aufwarten, wenn auch der Jahrestag nicht ganz rund war. Am 26. August 1991 schrieb Torvalds an die Usenet-Liste comp.os.minix seine erste Ankündigung von Linux, dem damals noch namenlosen Betriebssystems. Daran angelehnt formulierte er seine Ankündigung des RC7: «I’m doing a (free) operating system (just a hobby, even if it’s big and professional) […]» Damit sind die bemerkenswerten Dinge für diese Version auch schon genannt; die Zahl der Änderungen reduzierte sich abermals und weisst nur noch Korrekturen auf. Damit dürfte die Veröffentlichung der finalen Version bald erfolgen,
Linux 3.10 wird Langzeit-Support-Version
Jedes Jahr wählt Greg Kroah-Hartman eine Kernel-Version aus, die er für mindestens zwei Jahre pflegen wird. Als Ersatz für die im Oktober diesen Jahres auslaufende Langzeit-Unterstützung des Linux-Kernels 3.0 wurde der derzeitige Stable-Kernel 3.10 ausgewählt. Auch der LTSI-Kernel der Long Term Support Initiative wird künftig auf Linux 3.10 basieren. Weiterhin wird Kroah-Hartman Linux 3.4 bis Oktober nächsten Jahres pflegen. Der Debian-Entwickler Ben Hutchings wird Linux 3.2 bis 2016 mit Patches versehen.
Kernel Summit in Edinburgh
Einer der Termine, an denen die Entwickler des Linux-Kernels zusammenkommen, ist der Kernel Summit. Zu dieser Veranstaltung werden Entwickler geladen, die sich besonders aktiv an der Kernel-Entwicklung beteiligen: zumeist Linux-Programmierer, die die Kernel-Entwicklung als Beruf ausüben und damit ihren Lebensunterhalt verdienen. Zum diesjährigen Kernel Summit in Edinburgh (Schottland) lädt der Hauptentwickler des Ext4-Dateisystems, Ted Ts’o, einige Hobby-Entwickler ein. Jeder, der am Linux-Kernel und seinen Komponenten mitarbeitet, ohne dafür bezahlt zu werden, konnte sich hierfür bewerben. Den maximal drei glücklichen Bewerbern werden dann die Reisekosten erstattet.
(Mathias Menzer)
Weitere Themen:
Neueste Artikel von Mathias Menzer (alle ansehen)
- Fortschritte von Linux 4.5: Februar im Kernelrückblick - 29. März 2016
- Linux 4.4 ist da: Jahreswechsel im Kernel-Rückblick - 8. Februar 2016
- Grossumbau für Linux 4.2: Juli im Kernel-Rückblick - 18. August 2015