Reisende soll man nicht aufhalten, doch aus dem Hause Debian verabschieden sich gerade auffällig viele Entwickler. Zehn Fragen und Antworten, die Aufschluss geben über den Status des Debian-Projekts in Zeiten des Streits um Systemd.
Noch vor ein paar Wochen hob das Linux-Magazin Debian als Beispiel für die effiziente Verwaltung einer Community heraus http://1. Debians Release-Manager Andreas Barth betonte damals beispielsweise, dass das Release-Management in den letzten Jahren sehr effizient geworden sei. Auch andere Bereiche von Debian blühen und gedeihen; der Debian-“Flavor” Skole Linux (alias Debian Edu) hat in vielen Schulen mittlerweile einen festen Platz gefunden.
Da passt so gar nicht ins Bild, was in den letzten Wochen über Debian zu lesen war: Austritt hier und Austritt dort. Tatsächlich haben sich einige Entwickler ganz aus Debian verabschiedet. Oder zumindest angekündigt, sich wieder mehr technischer Arbeit und weniger der Projekt-Governance zuzuwenden. Für ihre bisherige Arbeit stehen sie damit jedenfalls nicht mehr zur Verfügung. Was verursacht den öffentlichkeitswirksamen Exodus bei Debian? Stellen die Austritte möglicherweise sogar eine existenzielle Gefahr für das Projekt dar? Das Linux-Magazin beantwortet im Folgenden die wichtigen Fragen rund um die Diskussionen bei Debian.
Was ist der Grund für den Streit?
Die aktuellen Rücktritte sind der vorläufigen Höhepunkt in einem Streit, der seit mehreren Jahren schwelt. Dreh- und Angelpunkt ist Systemd, das in der OSS-Szene bekanntlich nicht nur bei Debian für heftige Kontroversen sorgt. Bei der Diskussion rund um Systemd treffen zwei grundsätzliche Philosophien aufeinander: Auf der einen Seite die typische “Unix-Attitüde”, die fest davon ausgeht, dass es für jeden Job ein eigenes Tool geben sollte. Die punktuelle Spezialisierung einzelner Werkzeuge ist in den Augen der Verfechter dieser Theorie die große Stärke im Vergleich mit den All-in-one-Lösungen: Ein absolut spezifisches, kleines Tool wird eine Aufgabe besser erledigen können als eine eierlegende Wollmilchsau, die alles ein bisschen kann, aber nichts davon wirklich zufriedenstellend.
Die Systemd-Verfechter stehen dazu in krassem Widerspruch. Sie stellen die These auf, dass Systemd sich um alle Aspekte des Systems gut kümmern kann und gerade durch die Kombination mehrerer Faktoren Zusatzfunktionen bietet, die ohne Systemd nicht zu haben wären. Laut Meinung jener Gruppe ist es absolut wünschenswert, so viele Aufgaben wie möglich an Systemd zu geben, weil Systemd so die “Draufsicht” bekommt und dem Anwender das bestmögliche Nutzungserlebnis verschaffen kann.
Ein neues Initsystem?
Debian hat die Diskussion um ein neues Initsystem viele Jahre vor sich hergeschoben; darüber ist das praktizierte Sys-V-Init allerdings so in die Jahre gekommen, dass Debian-Nutzer gegenüber anderen Distributoren deutlich benachteiligt sind. Sowohl Systemd als auch eventuelle Alternativen, also zum Beispiel Upstart, bieten einen deutlich umfangreicheren Schatz an Funktion.
Der Umstieg auf ein anderes Initsystem war außerdem auch in den Jahren zuvor bereits Thema bei der Release-Planung gewesen, rückte gegenüber anderen Themen aber immer wieder ins Hintertreffen, weil das alte System wenigstens noch die grundlegende Funktionalität bietet. Mittlerweile ist der Feature-Abstand von Sys-V-Init zu anderen Initsystemen aber so groß, dass die Entscheidung sich nicht mehr länger verschieben lässt.
Wer die Positionen der Befürworter und Gegner von Systemd genauer betrachtet, bemerkt schnell, dass sie weitestgehend unversöhnlich sind. Ein Kompromiss ist nicht möglich, denn “ein bisschen Systemd” geht nicht. Eine Seite wird also am Ende ihren Willen definitiv nicht kriegen – zumindest nicht direkt in dem, was aktuell als Debian-Projekt bekannt ist. Weil Debian weiß, dass bisweilen technische Entscheidungen eben dieses Ausmaßes notwendig sind, gibt es innerhalb des Projekts allerdings eine eigene Instanz, die genau solche Fragen klärt: das Technical Committee, abgekürzt CTTE.
Wer sitzt im CTTE?
Das Technical Committee hat laut Debian-Verfassung [2] sowohl das Recht als auch die Pflicht, auf Bitten der Entwickler über komplexe technische Fragen ein Urteil zu fällen. Entscheidungen des CTTE sind zunächst bindend, freilich bleibt es den einzelnen Debian-Entwicklern unbenommen, gegen eine CTTE-Entscheidung mit einer Generalabstimmung vorzugehen.
Mitglied des CTTE kann grundsätzlich jeder Debian-Entwickler werden, die Abstimmung erfolgt im Kreise der existierenden CTTE-Mitglieder zusammen mit dem amtierenden Leiter des Debian-Projekts, dem Debian Project Leader (DPL). Der DPL hat aber das letzte Wort: Gefällt ihm ein Kandidat nicht, den das CTTE vorgeschlagen hat, kann er die Ernennung ablehnen.
In aller Regel erhält das CTTE innerhalb des Debian-Projekts kaum Aufmerksamkeit, es entscheidet in spezifischen technischen Sachverhalten, die in der Regel nur eine kleine Anzahl von Paketen betreffen. Bei der Entscheidung über das Initsystem ist das anders.
Bei Redaktionsschluss bestand das CTTE noch aus seinem Vorsitzenden Bdale Garbee (Abbildung 1), der lange Zeit selbst DPL war, sowie aus Don Armstrong, Andreas Barth, Steve Langasek und Keith Packard. Verlassen haben das CTTE in den Wochen zuvor Russ Allbery, Colin Watson und Ian Jackson.
Welche Rolle spielt das CTTE im Systemd-Konflikt?
Die Debian-Diskussion rund um Systemd tobte eingangs fast nur in Form von Diskussionen innerhalb des Bugtracking-Systems. Schon hier war deutlich, dass manche Debian-Developer ihre gute Kinderstube entweder sehr vermissen ließen oder eine solche nie gehabt hatten – der Tonfall war auffallend ruppig.
Während der Diskussion zeigte sich, wie unvereinbar die beiden Meinungen aufeinanderprallen: Paul Tagliamonte bat das Technical Committee im Oktober 2013 offiziell darum, eine Entscheidung für die kommende Debian-Version Jessie zu fällen, um für diese entweder Systemd oder ein anderes Initsystem verbindlich vorzuschreiben. Auslöser dafür war eine Mail ein paar Tage zuvor, laut der der Gnome-Desktop mittlerweile de facto auf Systemd angewiesen ist, um überhaupt zu funktionieren.
Der Bugreport im BTS – auf diese Weise verwaltet das CTTE Anfragen an sich selbst – wurde praktisch augenblicklich von Systemd-Fans und -Gegnern gekapert, um wiederum eine technische Diskussion vom Zaun zu brechen. Dass der entsprechende Bugreport an das BTS dafür eigentlich gar kein Forum ist oder sein will, interessierte die Diskutanten kein bisschen. Tatsächlich kam das CTTE der Aufforderung Tagliamentes nach und fällte im Februar 2014 eine Entscheidung für Systemd.
Die Art und Weise, wie eben jene Entscheidung zustande kam, ist dabei allerdings bemerkenswert: Auf der einen Seite gab es innerhalb des CTTE Leute, die von Anfang an Systemd als Initsystem für Jessie wollten. Die andere Fraktion hätte Upstart lieber gesehen, weil es deutlich weniger invasiv als Systemd ist. Zwischen den zwei Fraktionen innerhalb des CTTE kam es so zu einem Patt; laut Verfassung fiel die Entscheidung damit Bdale Garbee als dem Vorsitzenden zu, und Garbee ist nicht nur zweimaliger Projektleiter, sondern auch ein großer Fan von Systemd.
Auch bemerkenswert war die Tatsache, dass Garbee bereits in seiner E-Mail ankündigte, dass sich das CTTE dem Ergebnis einer Generalabstimmung anschließen werde, wenn es zu einer solchen kommen sollte [3].
Was war das Ergebnis der Generalabstimmung?
Mehrere Debian-Entwickler griffen Bdale Garbees Kommentar umgehend als eine direkte Ermutigung auf, eine Generalabstimmung über das Thema zu starten. In der Debian-Verfassung liegt die Hürde zur Einberufung einer Generalabstimmung niedrig; lediglich sechs Entwickler müssen einen GR-Vorschlag per Mail unterstützen, um eine GR vom Zaun zu brechen.
Als Speerspitze der Gegner von Systemd etablierte sich schnell ein prominentes CTTE-Mitglied: Ian Jackson (Abbildung 2) nutzte nicht nur verschiedene Debian-Mailinglisten regelmäßig, um massiv gegen Systemd zu agitieren, er diskutierte auf der Mailingliste für Abstimmungen [4] auch verschiedene GR-Entwürfe und kontrollierte gar die Arbeit des Projektsekretärs Kurt Roeckx. War beispielsweise die Zeit, die ein GR-Entwurf zum Sammeln von Sekundanten hatte, abgelaufen, mahnte Jackson quasi augenblicklich den Beginn der GR an.
Insgesamt hat Jackson während der gesamten Systemd-Diskussion keinen guten Eindruck hinterlassen: Mal forderte er den Rücktritt Bdale Garbees vom CTTE-Vorsitz, mal griff er andere Entwickler scharf an, weil sie Systemd unterstützten. Zum bisweilen hasserfüllten Ton in der Diskussion hat er damit maßgeblich beigetragen. Dies Verhalten steht in der von Jackson vorgetragenen Vehemenz einem ehemaligen Projektleiter und CTTE-Mitglied nicht zu, mehr Contenance wäre wünschenswert und notwendig.
Jackson zettelte also eine Generalabstimmung an, über deren Text mehrere Wochen heftige Diskussion auf den verschiedenen Mailinglisten sowie in diversen Chatrooms stattfanden. Am Ende stand ein GR-Entwurf, der als eine der Möglichkeiten quasi eine “LMAA”-Klausel hatte: Das Debian-Projekte möge per GR entscheiden, dass es einer GR über die Initsystem-Frage nicht bedürfe. Genau jene Option stand als Gewinner fest, als Kurt Roeckx die Ergebnisse auf der Abstimmungsseite veröffentlichte.
Was sagt die Community dazu?
Das GR-Ergebnis darf wohl auch als virtueller Stinkefinger in Richtung der Systemd-Verfechter und -Gegner gelten, die ihren Streit seit Monaten in diversen Formen öffentlich austragen. Die Mehrheit der Debian-Entwickler geht an die Initsystem-Debatte offenbar sehr nüchtern heran und ist bereit, eine funktionierende Implementation zu akzeptieren, sei es auf Systemd-Basis oder auf Basis eines anderen Werkzeugs.
Kurzum: Die Mehrheit der Entwickler ist der Diskussion rund um Systemd müde und findet die immer wiederkehrenden Debatten lähmend und unnötig. Manche Debian-Entwickler stellen öffentlich klar, dass das Debian-Projekt im Augenblick ideell nicht mehr an das Projekt herankommt, dem sie einst vor Jahren beigetreten waren.
Hinzu kommt, dass das Verhalten so manches Diskussionsteilnehmers nur mehr zu Kopfschütteln führte. Insbesondere die Mitglieder des CTTE haben öffentlich mehrere Male kundgetan, in der Systemd-Debatte auch abseits von Debian von projektfremden Menschen bisweilen bedrängt und auch beschimpft worden zu sein. Wer Teil der Systemd-Debatte war, konnte also reguläre Projektarbeit im Grunde vergessen.
Was bedeuten die Rückzüge aus den Gremien?
Beide Faktoren dürften dazu beigetragen haben, dass sich im November gleich mehrere altgediente Entwickler aus dem CTTE zurückzogen oder Debian gleich ganz den Rücken kehrten. Joey Hess (Abbildung 3) ist dabei – und ein echtes Debian-Schwergewicht: Er ist der Kopf hinter »debhelper« , das beim Zusammenbau der meisten Debian-Pakete zum Einsatz kommt. Auch für andere Programme innerhalb Debians zeichnet er verantwortlich.
Hess verabschiedete sich gleich ganz vom Projekt und erklärte, künftig seine Aufmerksamkeit anderen Themen widmen zu wollen. Als einen Grund nannte er die für ihn befremdliche Systemd-Debatte und die Tatsache, dass ihm die Entscheidungsprozesse in Debian mittlerweile zu komplex geworden seien.
Ganz so hart brach Tollef Fog Heen mit Debian zwar nicht, doch hing auch er seinen Posten als Maintainer an den Nagel: Heen wird nicht länger an Systemd in Debian arbeiten, weil der ihm entgegenschlagende Hass [5] unerträglich sei und er sich dem nicht länger aussetzen wolle. Das Technical Committee hat gleich drei Abgänge zu verkraften: Colin Watson nimmt seinen Hut und will bloß noch so lange aktiv bleiben, bis ein Nachfolger für ihn feststeht. Er merkt ausdrücklich an, dass die Systemd-Debatte nichts mit seinem Rücktritt zu tun hat.
Anders sieht es bei Russ Alberry aus: Er will in Zukunft weniger diskutieren und wieder mehr entwickeln, was in seinen Augen mit der CTTE-Arbeit unvereinbar ist. Kurz nach Bekanntgabe des Ergebnisses der GR über Systemd erklärte auch Ian Jackson seinen sofortigen Rücktritt vom CTTE und begründete ihn damit, dass er Systemd nicht unterstützen möchte, aber andererseits mit dieser Meinung nicht mehr die Mehrheit von Debian hinter sich weiß. Innerhalb kurzer Zeit hat so eine ganze Reihe Entwickler ihre Posten geräumt oder Debian verlassen.
Wie geht es weiter mit dem Debian-Projekt?
Bei Licht betrachtet bleibt aber kein Grund, an Debian insgesamt zu zweifeln. Das Projekt ist so groß, dass es überall ständige Fluktuationen gibt. Pakete, deren Maintainer sich verabschieden, werden meist von anderen Entwicklern übernommen und betreut. Wie es mit den Paketen von Joey Hess weitergeht, muss sich zeigen: Hess hat angekündigt, Debhelper und seine anderen Projekte in Zukunft nicht mehr weiterentwickeln zu wollen. Es steht allerdings zu vermuten, dass sich innerhalb des Projekts Leute finden, die sich um die verwaiste Software kümmern.
Abgesehen von dem aktuellen Systemd-Streit ist es ja auch nicht das erste Mal, dass Debian zentrale Persönlichkeiten der Projektgeschichte abhanden kommen: Als Mark Shuttleworth beispielsweise vor Jahren gleich eine ganze Reihe Debian-Entwickler anstellte und sie damit zumindest zum Teil dem Projekt entzog, herrschte nur kurzzeitig Endzeitstimmung. Schon bald stellte sich nämlich heraus, dass frischer Wind in den Projektgremien dem Debian-Projekt durchaus zuträglich sein kann.
Der erste und wichtigste Schritt, den Debian bewältigen muss, ist der zu innerer Ruhe: Die Grabenkämpfe rund um Systemd sind von einzelnen Leuten mit einer solchen Härte geführt worden, dass sie viel Porzellan zerschlagen haben.
Wird der Devuan-Fork Erfolg haben?
Es sieht so aus, als wollten die Systemd-Gegner nun einen Debian-Fork ins Leben rufen, der ohne die Software auskommt. Ein solches Projekt würde Betreuer und Gegner von Systemd dauerhaft trennen und es Debian erlauben, wieder zur Ruhe zu kommen. Wenn das Devuan-Projekt [6] denn Erfolg hat: Einerseits waren die Devuan-Verantwortlichen bis Redaktionsschluss nämlich nicht bereit, Ross und Reiter zu nennen, und agieren lieber aus der Anonymität heraus.
Andererseits sind die Devuan-Gründer beim Sammeln von Spenden nicht gerade erfolgreich. Innerhalb von 48 Stunden kratzten sie rund 1700 US-Dollar über Paypal, Stripe und Bitcoins zusammen. Mit umgerechnet 1370 Euro lässt sich allerdings schwerlich eine ganze Distribution bauen. Außerdem konterkariert der Misserfolg beim Spendensammeln die Mantra-artig wiederholte Aussage der Systemd-Gegner, es gäbe eine große Zahl von Debian-Nutzern, die Systemd zu verhindern versuchten.
Eine echte Gefahr für Debian könnte Devuan nur werden, wenn es dessen Entwicklern gelingt, ein funktionierendes, aktuelles System mit einem anderen Initsystem als Systemd auf die Beine zu stellen und dann für das eigene Projekt genug Traktion zu erzeugen. Warum dessen technischer Teil sehr komplex werden dürfte, hat Lennart Poettering (Abbildung 4) in seiner Rolle als Erfinder und Systemd-Hauptentwickler bereits vor Monaten in [7] erläutert.
Was ändert sich technisch?
Unterm Strich werden künftig Systemkomponenten wie Cgroups im Linux-Kernel oder auch Kdbus Funktionen nutzen, die augenblicklich nur Systemd bietet. Wer die gleichen Features ohne Systemd will, müsste also enormen Programmieraufwand betreiben. Dann stellt sich die Frage, ob das sinnvoll ist: Red Hat (für RHEL sowie Fedora), Suse (für SLES und Open Suse) und Canonical (für Ubuntu) haben bereits eine Entscheidung für Systemd gefällt. Romantiker mögen es für möglich halten, dass Debian hier einen eigenen Weg gehen und etwas anderes nutzen kann.
Doch dürfte in der Realität die Entwicklung darauf hinauslaufen, dass immer mehr Software Funktionen an Systemd knüpft und daher die Pflege eines Forks zunehmend aufwändiger wird, wenn er nicht sehr schnell im Softwaremuseum verkommen soll. Fürs Erste scheint es jedenfalls so, als bleibe Debian eine Pause zum Durchatmen. Es ist dem Projekt zu wünschen, dass die Pause eine lange wird. (mfe)
Infos
- Martin Loschwitz, “Frei regiert”: Linux-Magazin 10/14, S. 34
- Die Debian-Verfassung: https://www.debian.org/devel/constitution.de.html
- E-Mail von Bdale Garbee: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727708#6734
- Debian-Vote-Mailingliste: http://lists.debian.org/debian-vote
- Mail von Tollef Fog Heen: http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2014-November/004563.html
- Devuan-Projekt: https://devuan.org
- Beitrag von L. Poettering: https://plus.google.com/u/0/+LennartPoetteringTheOneAndOnly/posts/8RmiAQsW9qf











