Hüter des Kernels

Linus Torvalds im Interview

Trends & News | Interview

Seit 23 Jahren leitet Linus Torvalds die Entwicklung des Linux-Kernels. Auf der LinuxCon Europe hatten wir Gelegenheit, mit dem Linux-Erfinder zu sprechen. Dabei ging es nicht nur um aktuelle Entwicklungen und Probleme der Linux-Welt, sondern auch um Arm-Prozessoren, Wayland und NSA-Hintertüren im Kernel.

c’t: Welche Distribution, welchen Desktop und welches Dateisystem verwendest du?

Torvalds: Ich benutze Fedora 20 und wechsle wahrscheinlich auf die Beta der Version 21, wenn sie erscheint. Mein Desktop ist Gnome 3, das um Längen besser läuft als noch vor zwei oder drei Jahren; es ärgert mich allerdings, dass bei jedem Versionssprung alle Erweiterungen kaputtgehen, die ich verwende. Um das Dateisystem schere ich mich kein bisschen; ich glaube, es ist Ext4, weil das der Standard bei Fedora ist.

c’t: Hast du dir Root-Rechte auf deinem Smartphone verschafft?

Torvalds: NEIN! Ich habe das nur mal kurz bei einem Android-Smartphone von Samsung gemacht, weil ich die Samsung-Erweiterungen nicht ertragen konnte. Also hab ich CyanogenMod installiert. Dieser Tage hab ich ein Nexus 5, bei dem ich keinen Grund zum Rooten habe, weil es Standard-Apps verwendet. Ich treibe keine Spielchen mit dem Gerät. Vor zwanzig Jahren hätte ich sicher gern damit experimentiert. Aber letztlich ist es doch so: Ich verbringe heute all meine Zeit mit dem Bearbeiten von E-Mail und habe meine Mit-Hardware-herumspielen-Phase hinter mir.

c’t: Was macht derzeit am meisten Spaß bei der Arbeit an Linux?

Torvalds (nach einigem Überlegen): Sicherzustellen, dass die Entwicklung flüssig läuft. Dabei kann ich viel mit anderen interagieren. Ich liebe E-Mail. Ich bin halt niemand, der aus sich herausgeht und auf Leute zugeht. E-Mail ist ein großartiges Mittel, um technische Details zu diskutieren und einfach nur zu entwickeln. Ich mag es einfach, mich per E-Mail mit Leuten auszutauschen, mit denen ich zusammenarbeite. Ich liebe und genieße das richtig.

„E-Mail ist ein großartiges Mittel, um technische Details zu diskutieren und einfach nur zu entwickeln.“

Eine der Gründe, warum ich Linux immer noch mache: Es begann als technisches Projekt; aber erst die Tatsache, dass es dann eine gemeinschaftliche Arbeit wurde, bei der ich mit anderen Leuten zusammenarbeite, hat richtig Spaß gebracht. Dieser Teil bleibt, auch wenn ich selbst nicht programmiere.

c’t: Gibt es irgendwelche Bereiche im Kernel, wo Verbesserungen oder Entwicklungen überfällig sind?

Torvalds: Ehrlich gesagt bin ich immer wieder erstaunt über die vielen Sachen, die Leute entwickeln. Ein Bereich, mit dem wir uns allerdings irgendwann beschäftigen sollten: das Entfernen ungenutzter Treiber. Wir haben Unmengen an ständig kompiliertem und vermutlich auch funktionierendem Code, bei dem ich allerdings nicht weiß, ob ihn noch irgendwer verwendet.

c’t: Aber wie harmoniert das mit der Regel „Keine Rückschritte (no regressions) bei der Kernel-Entwicklung“?

Torvalds: Es verhält sich ähnlich wie mit dem Code zur Unterstützung des originalen i386-Prozessors von Intel, den wir vor einiger Zeit entfernt haben. Damals haben viele Leute gerufen „das könnt ihr nicht machen“. Darauf hab ich nur gesagt, wir ziehen das durch, denn wir können den Code ja wieder hervorholen, wenn jemand einen echten Anwendungsfall dafür zeigt. Das hatte aber niemand, denn viele 386er haben halt nur 4 MByte Arbeitsspeicher – und seien wir doch mal realistisch, ein Fedora 20 läuft damit nicht. Die „no regressions“-Regel war noch nie eine theoretische, es ging immer schon um die Praxis. Entwickler können alles ändern, was sie wollen, aber wenn jemand dadurch Probleme bekommt, dann ist es ein Rückschritt und muss behoben werden. Wenn keiner etwas merkt, ist alles okay.

c’t: Und das funktioniert gut?

Torvalds: Das große Problem: Unternehmenskunden aktualisieren so selten, dass sie Probleme manchmal erst nach Jahren bemerken. Da kann man Code-Änderungen manchmal nicht zurücknehmen, weil inzwischen Software auf das neue Verhalten angewiesen ist. Aber die Situation bessert sich, denn einige der großen Unternehmensanwender haben das Problem erkannt. Sie haben vielleicht 10 000 Maschinen laufen, aber auf einigen, vielleicht ein paar Hundert, aktualisieren sie aggressiver, damit sie unter echter Last merken: Hier ist ein Performance-Problem oder hier funktioniert etwas nicht mehr. Mit dem alten Entwicklungsmodell damals in den Tagen von Linux 2.4/2.6 ging das nicht, da konnte man die Entwicklerkernel nicht ernsthaft einsetzen. Die Mainline-Kernel sind darum heute viel stabiler. Wenn du ein Facebook oder Google bist, sagst du einfach „wir nehmen jetzt mal auf zehn Maschinen den neuesten Kernel und schauen, was kaputtgeht“.

c’t: Könnte ein Geheimdienst eine Hintertür in den Kernel einbauen, ohne dass es jemand merkt?

„Ein Bereich, mit dem wir uns irgendwann beschäftigen sollten: das Entfernen ungenutzter Treiber.“

Torvalds: Es gibt keine Garantien. Der beste Weg, eine Backdoor in den Kernel einzubauen, wäre wohl Social Engineering bei einem Entwickler. Aber ich hab nie Hinweise gesehen, dass es jemals versucht wurde. Letztes Jahr in Edinburgh hat man mich scherzhaft gefragt, ob mich die NSA gebeten hat, eine Backdoor einzubauen. Ich hab damals genickt und „nein“ gesagt.

Die Wahrheit ist: Ich bin nie von der NSA gefragt worden. Aber kann ich garantieren, dass niemand anders gefragt wurde? Nein! Auch für andere Betriebssysteme kann das niemand garantieren. Aber Open Source macht es schwieriger, eine Backdoor einzubauen, ohne aufzufallen. Bei einem Treiber, den kaum jemand auf dem Radar hat, würde es vielleicht unbemerkt gelingen; solch ein Treiber würde aber normalerweise auch nicht geladen. Meines Erachtens haben wir kein Problem in diesem Bereich. Alle peinlichen Sicherheitsprobleme waren blöde Programmierfehler. Von denen haben wir reichlich; sie passieren nicht oft, aber zu oft.

c’t: Was denkst du über AMDs Heterogeneous System Architecture (HSA)?

Torvalds: Ich freue mich schon auf den Zeitpunkt, wo Grafikchips, Krypto-Beschleuniger und ähnliche Bausteine denselben Adressraum für I/O nutzen wie der Hauptprozessor. Das macht die Dinge nämlich um Längen einfacher, weil wir die Kontrolle an ein Userspace-Programm übergeben können. Das sollte den Leuten die Arbeit erleichtern, denen es um hohe Grafikperformance geht. Besonders interessant ist es auch für Berechnungen auf Grafikchips, weil man dann keine Daten mehr zwischen den Adressräumen der verschiedenen Chips hin- und herkopieren muss.

c’t: Wie schätzt du die 64-Bit-Architektur von ARM ein?

Torvalds: Ich bin kein großer Fan des Memory Ordering bei ARM oder PowerPC, weil es zu schwer diagnostizierbaren Fehlern führen kann: Irgendwas, das heute funktioniert, geht vielleicht auf der nächsten CPU-Generation nicht mehr, weil sie Speicherzugriffe aggressiver umsortiert.

Trotzdem: ARM64 ist keine schlechte Architektur. Die große Frage ist aber: Ist es so viel besser, dass es die Mühe wert ist, sich mit der Andersartigkeit auseinanderzusetzen? Ich bin davon überzeugt, der Ansatz „viele kleine Kerne“ ist komplett daneben. Es gibt nur wenig Probleme, die sich parallelisieren lassen; das gilt selbst für High Performance Computing.

Es gibt allerdings auch nichts, was gegen einen leistungsfähigen ARM64-Prozessor spricht. Aber ob ein solcher dann noch effizienter ist als ein x86er? Die Sache ist doch die: Die großen Server-Kunden, Google, Facebook, alle wollen Wettbewerb im Prozessormarkt. Es ist nicht, dass sie Intel nicht mögen; aber sie fürchten sich sehr davor, dass Intel und x86 die einzige Wahl sind. Und deswegen sieht man so ein Interesse an ARM64; nicht wenige schielen deswegen auch auf Power8.

„Die großen Server-Kunden, […] sie fürchten sich sehr davor, dass Intel und x86 die einzige Wahl sind.“

Man hat Angst, an einen Zulieferer in einem Markt gebunden zu sein, den AMD verlässt. Okay, AMD ist nicht weg, aber aus Server-Sicht: Das AMD vor zehn Jahren mit dem Opteron, das war noch was, aber heute? Als AMD und Intel in einer Liga spielten, waren die Serverhersteller zufrieden. Vielleicht waren sie auf x86 festgelegt, aber nicht auf einen einzigen Anbieter. Dann ist Intel davongezogen und jetzt ist jeder besorgt, dass Intel zu mächtig wird.

Es ist aber schwer, in diesen Markt hineinzukommen. Du baust eine tolle Maschine und schaffst es vielleicht, ein paar Tausend davon an Google oder Facebook zu verkaufen – für die sind tausend Maschinen nichts, die machen das als Testlauf. Aber von Tausenden auf eine Million zu kommen, das ist schwer. Dann musst du nämlich nicht nur zeigen, dass es eine gute Maschine ist, sondern besser als Intel sein, und das ist schwer.

c’t: Freust du dich auf Wayland, kümmert es dich überhaupt?

Torvalds: Das ist nicht mein Gebiet. Ich bin immer äußerst skeptisch, wenn man etwas wegwirft und sagt: „Hey, ich hab hier was Neues, das löst alle Probleme.“ Es ist nicht, dass Wayland etwas falsch macht. Der X-Server, ja, der hat große Probleme, aber gleichzeitig haben seine Auswüchse auch ihre Geschichte. Ehrlich gesagt, ich habe den X-Server selbst gehasst. Das Build-System war schrecklich, 3D-Beschleunigung vs. 2D-Beschleunigung vs. Software … ein Riesendurcheinander. Aber X ist in den letzten zehn Jahren so viel besser geworden.

c’t: Spielt du eigentlich?

Torvalds: Nein. Allenfalls mal etwas wie Candy Crush im Flieger. Hektische Spiele sind nicht meins; ich bin und war nie ein Gamer.

c’t: Sind deine Kinder an Programmierung interessiert?

Torvalds: Sie sind nicht uninteressiert. Meine Älteste hat jetzt einen IT-Kurs an ihrer High School und lernt dort, was irgendwie kurios ist, Visual Basic. Aber das ist gut. Sie hat auch ein wenig Web-Entwicklung gemacht, aber ich glaube, sie ist nicht sonderlich an Programmierung interessiert.

c’t: Woran jenseits von Kernel, Git oder deiner Tauch-Software Subsurface würdest du arbeiten, wenn du ein halbes Jahr Zeit hättest?

Torvalds: Ich habe mich mal sehr für Compiler interessiert, weil ich mich für Hardware interessiere. Also wenn du keinen Kernel machst, was sonst ist wirklich nahe an der Hardware? Compiler.

c’t: Freust du dich auf LLVM?

Torvalds: Deutlich weniger als noch vor zehn Jahren. Damals war der GCC-Entwicklungsprozess richtig kaputt. Ich war damals oft frustriert von GCC und habe mir Konkurrenz gewünscht. Das sind heute Clang und LLVM, aber GCC ist erheblich besser geworden. Ich mache mir heute über den Compiler viel weniger Gedanken. GCC ist sehr zuverlässig, aber wenn es mal Probleme gibt, sind sie sehr schwer zu finden.

LLVM macht mich ein bisschen nervös, weil es ein junger, neuer Compiler ist und wir wissen, dass er Fehler hat. Um den Kernel damit zu kompilieren, braucht man nicht nur Kernel-Patches, sondern auch die richtigen LLVM-Patches. Aber ich bin interessiert und werde es sicher selbst probieren. Ich denke, Ende dieses oder Anfang nächsten Jahres kann man für den Kernel zwischen GCC und LLVM wählen.

c’t: Was sind die interessantesten Entwicklungen in der Computer-Welt?

„Was ich wirklich gern sehen würde: ein richtiges ARM-Notebook. Kein Spielzeug, kein Tablet.“

Torvalds: Ich bin immer sehr an Hardware interessiert, aber da gab es in letzter Zeit nichts Neues von größerer Bedeutung. Was ich wirklich gern sehen würde: ein richtiges ARM-Notebook. Kein Spielzeug, kein Tablet. Etwas, das ich so richtig benutzen kann. Ich verwende ARM jeden Tag in meinem Telefon, aber das ist was anderes: Ich kann darauf nichts kompilieren, ich kann darauf nicht wirklich arbeiten. Ich bin gespannt, ob ARM es über Telefone und Tablets hinaus schafft. Nicht nur in Server, die interessieren mich nicht sehr, sondern auch in einen „richtigen“ Computer für meinen Schreibtisch. Ich dachte, das würde schon vor Jahren passieren, ist es aber nicht. (thl)

Artikel kostenlos herunterladen

Kommentare

Anzeige
Anzeige