Open Source im professionellen Einsatz

Interview mit dem Kernel-Aussteiger Con Kolivas

Spaß muss sein

Während viele Kernelentwickler auf den Gehaltslisten von Soft- und Hardwarefirmen stehen, gibt es immer noch Linux-Freaks, die aus Freude an dem freien Betriebssystem mitprogrammieren. Zu diesen Enthusiasten gehörte der Australier Con Kolivas bis vor Kurzem.

Con Kolivas ist bekannt für sein »-ck«-Patchset, das dem Kernel Beine macht und so Anwender von Linux auf dem Desktop und Multimedia-Freaks erfreut. Noch mehr Aufsehen erregte der 37-jährige Mediziner aus Melbourne jedoch, als er im Juni seinen Rückzug aus der Kernelentwicklung bekannt gab. Das Linux-Magazin hat sich mit Con darüber unterhalten, warum er hinwirft.

Linux-Magazin: Con, wie lange hast Du am Linux-Kernel mitgearbeitet?

Kolivas: Bevor es hier zu einem Missverständnis kommt: Der Kernel war für mich nie Arbeit im beruflichen Sinn. Ich bin Arzt, genauer gesagt Anästhesist, und das ist mein Hauptberuf. Der Linux-Kernel war eine Weile mein Hobby, eine Leidenschaft, die mich fasziniert hat. Ich habe immer nur aus Spaß in meiner Freitzeit am Kernel gebastelt, und das die letzten fünf Jahre. Anfangs habe ich ein Jahr mit dem Code anderer gespielt, die restlichen vier Jahre habe ich eigenen geschrieben.

Linux-Magazin: Ist das nicht schon als Hobby sehr zeitaufwändig?

Kolivas: Ja, man braucht viel Zeit. Ich habe täglich vier bis fünf Stunden investiert – dabei rechne ich nicht einmal die Zeit ein, die ich zum Mail-Checken gebraucht habe. Ich konnte wirklich an keinem Computer vorbeigehen, ohne nach meinen E-Mails zu sehen.

Linux-Magazin: Warum hörst Du jetzt auf?

Kolivas: Ich hatte mehrere Gründe, bei der Kernelentwicklung mitzumachen, vor allem war es aber ein Hobby, bei dem der Spaß im Vordergrund stand. Anfangs entwickelte ich nur kleine Codestücke, die fast nichts machten. Im Lauf der Zeit verstand ich das Innenleben des Kernels und seiner Subsysteme aber immer besser. Mein Code wurde umfangreicher und zeigte Wirkung. Das meiste entwickelte ich rein aus Freude, abgesehen von echten Bugfixes für manche Kernel-Bugs. Hauptsächlich schraubte ich ein wenig an der Performance von Desktop-Linux herum und dachte, dafür würde sich die Kernel-Community wohl kaum interessieren. Daher habe ich den Code auch als eigenes »-ck«-Patchset gepflegt, an eine Aufnahme in den Standardkernel dachte ich nicht.

Aus Spaß wurde Ernst

Als die Patches immer größer wurden, drängten mich jedoch die Patchset-Anwender – und auch einige Kernelentwickler – den Code in den Hauptzweig des Kernels einzubringen. Ich bemühte mich also, meine wichtigsten Performance-Patches in den Mainline-Kernel zu bekommen. Ab diesem Zeitpunkt gab es immer weniger Spaß und immer mehr Arbeit: Ich besserte Code aus, den die Kernelmaintainer bemängelten, musste mich an den Coding-Stil des Kernels halten und so weiter.

Dennoch schaffte sehr wenig meines Code den Sprung in den Hauptkernel – ich konnte den Performancegewinn einfach nicht beziffern und die Kernelgemeinde wollte Beweise. Also schrieb ich ein paar Benchmarks, die andere Entwickler aber als zu praxisfern abtaten – absurd, denn in der Praxis gab es ja genügend Anwender meiner Patches. Das fand ich frustrierend und mein Interesse an der Kernelentwicklung schwand, weil sie mir kaum mehr Spaß machte.

Gelegentlich lese ich, mein Ausstieg sei nur Theater gewesen, ich hätte nur Aufsehen erregen wollen, um dann mit mehr Befürwortern in die Diskussion zurückzukehren. Das stimmt nicht. Ich kann auf die Kernelentwicklung ganz gut verzichten. Aber immerhin haben meine Kommentare noch nachträglich zu einer interessanten Diskussion über den Linux-Desktop geführt.

Linux-Magazin: Mehr Aufmerksamkeit für den Desktop – ist das Dein Vermächtnis?

Kolivas: Ich fürchte, so wichtig bin ich nicht. Dennoch hoffe ich, dass ich die Kernelentwickler für die Bedürfnisse der Desktop-Anwender sensibilisiert habe. Einige Dateisystem-Einstellungen, etwa Writeback-Journaling und »noatime«, die ich schon lange für Arbeitsplatzrechner empfehle, hat Linus nun auch befürwortet. Offenbar ist auch ihm der Desktop wichtig.

Linux-Magazin: Lag es an der Kommunikation, dem manchmal rauen Ton auf der Kernel-Mailingliste, dass Du ausgestiegen bist?

Kolivas: Bei der Kernelentwicklung findet die Kommunikation hauptsächlich über das Medium E-Mail statt. Und das hat, wie alles, seine Vor- und Nachteile. Per E-Mail kann sich jeder von überall her einmischen, ohne große Beschränkungen – auch ohne ein Mindestmaß an Sozialverhalten.

Was mir aber die Entwicklung richtig verdorben hat, ist die Reaktion auf meine Verbesserungsvorschläge für den CPU-Scheduler. Ich war mit dem Scheduling schon länger unzufrieden und entwickelte daher einen sehr fairen und dennoch interaktiven Scheduler. Zuerst waren die anderen Kernelentwickler davon begeistert. Allerdings hätten sie ein paar winzige Zugeständnisse im Rest des Kernels machen müssen. Das hätte echte Showstopper behoben, die den Kernel für manche Anwendungen unbrauchbar machen.

Statt sich auf diese kleinen Kompromisse einzulassen, blieben die Kernelmaintainer aber hart: Ich sollte um die Schwächen herumprogrammieren, was meiner Meinung nach erst recht zu Problemen geführt hätte. Dazu bekam ich zu dieser Zeit noch gesundheitliche Probleme und konnte kaum mehr am PC arbeiten. Anstatt mir bei der Verbesserung meines Code zu helfen, schrieb der Maintainer des Schedulers seine eigene Implementierung CFS.

Linux-Magazin: Worin besteht der Unterschied zwischen den beiden Schedulern?

Kolivas:CFS ist von Grund auf neu geschrieben und verwendet keinen Code aus meinem Scheduler. Sie bemühen sich beide um Ausgewogenheit zwischen CPU-Proportionierung und einer möglichst geringen Latenz für alle Prozesse. Staircase Deadline (SD), mein Scheduler, sieht sich nie die Vergangenheit von Tasks an. Er teilt vorausschauend feste CPU-Proportionen zu und versucht dabei die Latenz aller Prozesse gering zu halten. Die Dauer der Sleep-Phasen berücksichtigt er nicht – jeder Blick auf die Prozess-Historie kann zu Fehlinterpretationen führen. Zudem führt SD keine aufwändigen Berechnungen durch, erzeugt also kaum Overhead.

CFS geht einen anderen Weg, führt über alle CPU- und Sleep-Zeiten eines Prozesses Buch und verwendet dann Red-Black-Trees, um zu entscheiden, welcher Prozess als Nächster und für wie lange drankommt. Das bedeutet größeren Overhead, dürfte sich aber nur minimal auf die Performance auswirken. Aktuelle Größen weiß ich nicht, da ich ja mit der Entwicklung aufgehört habe. Da sich CFS im Gegensatz zu SD weiterentwickelt, wird es meinen Scheduler mit Sicherheit übertreffen, außer, es wäre ein grundlegender Designfehler im Spiel.

Schlag nach bei K & R

Linux-Magazin: Wie lange hast Du gebraucht, um die Programmiersprache C zu lernen?

Kolivas: Eine schwierige Frage. Richtig gelernt habe ich C nie – nur das, was ich gerade brauchte, um meine Vorstellungen umzusetzen. Ich habe C durch das Lesen von Kernelcode, Nachschlagen bei Kernighan & Ritchie und Nachfragen bei Könnern gelernt. Bestimmt kenne ich selbst jetzt einige C-Grundlagen nicht, mit denen jeder Informatikstudent vertraut ist – ich weiß nur das, was ich zum Programmieren brauche.

Linux-Magazin: Wie denkst Du über die Zukunft von Linux?

Kolivas: Linux wird weiterhin eine wichtiges Stück Software sein, die Konkurrenz inspirieren und sich seinerseits von ihr inspirieren lassen. Auf dem Server hat Linux so gut wie gewonnen, auf dem Desktop wird es weiterhin einen festen Platz belegen – aber nie den ersten.

Linux-Magazin: Was bräuchte Linux, um mehr Erfolg auf dem Desktop zu haben?

Kolivas: Normalerweise drücke ich mich um diese Frage. Zu diesem Thema gibt ja jeder Analyst, jede Nachrichten-Website und jeder Journalist seine Meinung zum Besten. Ehrlich gesagt, mich langweilt das schon seit Jahren.

GNU/Linux ist ein praxistaugliches, alternatives, Desktopbetriebssystem von hoher Qualität, und das bereits seit Jahren. Ich habe in den letzten acht Jahren nichts anderes benutzt als KDE auf Debian. Abgesehen von dem einen oder anderen Schluckauf und ein paar Einschränkungen habe ich mich richtig daran gewöhnt. Ich habe mittlerweile Schwierigkeiten, wenn ich mal Windows benutzen muss – mir geht es also auch nicht anders als den Windows-Anwendern, nur umgekehrt.

Abbildung 1: Cons Abschiedsgruß auf seiner Patch-Homepage  das berühmte Douglas-Adams-Zitat auf Englisch und Japanisch.

Abbildung 1: Cons Abschiedsgruß auf seiner Patch-Homepage das berühmte Douglas-Adams-Zitat auf Englisch und Japanisch.

Abbildung 2: Im Hauptberuf ist Con Kolivas Arzt für Anästhesie. Zu diesem Thema betreibt er auch eine Informationsseite für Patienten.

Abbildung 2: Im Hauptberuf ist Con Kolivas Arzt für Anästhesie. Zu diesem Thema betreibt er auch eine Informationsseite für Patienten.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook