Für viele zeichnet sich die Welt freier Software vor allem durch scheinbar nie enden wollende Vielfalt aus: Egal, ob es um Distributionen, grafische Oberflächen oder auch Lösungsansätze bei verschiedensten Problemstellungen geht; freie Software bietet eine Fülle an Optionen, aus denen man wählen kann und vor allem darf. Doch diese Diversität hat auch Nachteile, gerade, was Distributionen angeht, wird häufig von Zersplitterung gesprochen, die dem freien Betriebssystem auf lange Sicht eher Schade als nutze. Klar ist: Die Vielfalt, die man Tag ein, Tag aus beobachten und nutzen kann, muss irgendwie an Einsteiger vermittelt werden. Allerdings fällt es immer schwieriger, einen vernünftigen Kanal zu finden, über den das geschehen könnte.

Der Hype, den Ubuntu auslöste, als es sich das erste Mal als “Linux for Human Beings” präsentierte, kam zwar nicht von irgendwo. Heute ist aber mehr als deutlich, dass sich die Interessen von Canonical mit denen der Gemeinschaft nicht unbedingt decken. Das möchte ich nicht (sofort) zum Problem stilisieren, trotzdem ist es nun einmal Fakt: Egal, ob es hierbei um Snaps, den ehemaligen Amazon-Button oder die verschiedenen Tracking- und Report-Funktionen der Distribution geht. Für viele ist Ubuntu durch das Verhalten Canonicals zu einem Unwort geworden, auch wenn es eigentlich nicht so sein müsste. Das hat vermutlich auch mit einst hohen, vielleicht zu hohen Erwartungen zu tun, die nicht immer, zumindest nicht auf Dauer erfüllt wurden oder erfüllt werden konnten.

Mittlerweile hat sich die Tendenz eingeschlichen, über die feinen Unterschiede zwischen den verschiedenen Distributionen hinweg zu sehen. Am Ende des Tages basieren viele Distributionen auf Debian, andere auf Arch, ein paar auf Fedora und openSUSE. Trotzdem unterscheiden sich diese Varianten, mal sind sie eher Serviervorschläge, mal folgen sie einem grundlegend anderem Konzept als die Muttersysteme. Letztere lassen sich manchmal nicht einmal wiedererkennen.

Für viel schlimmer als die Distributionsvielfalt halte ich aber die Fragmentierung, die sich auf dem Desktopbereich festhalten lässt. Wenn man einen Einsteiger dann einmal, vielleicht nach langen Mühen, von einer Distribution überzeugt hat, werden die darauf folgenden Schritte nicht unbedingt leichter. Wenn es um die Wahl einer grafischen Oberfläche geht, reicht es oftmals nicht, einfach beim Standard einer Distribution zu bleiben, wenn ein solcher überhaupt existiert. Das es viele Desktops gibt, ist und bleibt kein Wunder, immerhin ist die “eigene” grafische Oberfläche als stetiger Begleiter eine riesengroße Geschmackssache. Nicht jedem gefällt Gnome, nicht jeder möchte bei KDE bleiben.

Das Problem ist also nicht, dass unterschiedliche Projekte unterschiedlich mit ihrer Codebasis und ihrer Software umgehen. Das Problem liegt, glaube ich, auch nicht bei den unterschiedlichen oder gegenläufigen Designideen der einzelnen Entwickler. Nein, zum Problem wird eher die technische Vereinzelung: KDE setzt eben auf Qt, Gnome bleibt bei GTK, Enlightenment bringt ein eigenes Toolkit mit. Dann wiederum erfindet man alte Standards neu und schafft mit “Innovationen” wie clientseitigen Dekorierungen, wie diese heute bei Gnome üblich sind, einen weiteren Faktor der Fragmentierung.

Und wenn bei jeder Gnome-Hauptversion drei neue Forks und bei der nächsten KDE-Veröffentlichung zwanzig neue Forks oder Desktopprojekte entstehen, vervielfacht sich dieses Problem in’s Unermessliche.

Warum muss bei jeder Innovation mit den bestehenden Standards gebrochen werden? Ist es denn nicht nachvollziehbar, dass sich Anwender auch einmal an Dinge gewöhnen? Warum muss eine intuitive Oberfläche immer aus der Sicht eines Neueinsteigers und nicht der eines Umsteigers konzipiert werden?

Wenn sich das Gnome-Team eine neue Idee in den Kopf und diese in der eigenen Oberfläche umsetzt, sind davon auch andere Projekte, die Gnome-Technik einsetzen betroffen. Sicherlich könnte man jetzt sagen, dass die Gnome-Entwickler*innen jedes Recht haben, ihre Software so zu gestalten, wie sie möchten. Trotzdem habe ich das Gefühl, dass gerade größere Desktopprojekte häufiger Mal die kleineren Projekte vergessen, die eher als periphere Nebenerscheinungen betrachtet werden und keinesfalls als mögliche Partner einer Zusammenarbeit.

Ich möchte hier nicht wieder die Binsenweisheit der Zusammenlegung von Entwicklerkräften beschwören, ich glaube, das ist in den letzten Jahren schon oft genug geschehen. Trotzdem kann ich mich ewig darüber aufregen, dass neue Ideen von Projekt A die Perspektive von Projekt B zu vergessen scheinen.

Kleineren Entwicklergruppen, etwa den Entwicklern von Xfce, ist es schlichtweg nicht möglich, alle Teile ihres Desktops von Grund auf neu zu bauen, das wäre in den meisten Fällen vermutlich auch ein unglaublich sinnloser Mehraufwand. Wenn aber die Entwicklung der GTK-Plattform, auf die auch Xfce angewiesen ist, derartig maßgeblich von Gnome bestimmt (sicherlich auch vorangetrieben wird), heißt es für Xfce vermutlich öfter: Friss oder stirb!

Die neue libadwaita, die den jüngsten Gnome-Anwendungen aus dem Gnome-Projekt ihren sehr eigenen Stil verleiht, ist eigentlich mit einem edlen Ziel gestartet: Anstatt sich wieder und wieder in die Weiterentwicklung des zu Grunde liegenden GTK einzumischen, entwickelt Gnome jetzt eine Art Zusatzschicht, auf die Anwendungen aus dem Projekt zurückgreifen können, während GTK Gnome-unabhängiger und in eigenem Tempo weiter entwickelt werden könnte.

Das ist ja wirklich schön und gut, sicherlich eine gute Idee und für die Zukunft vermutlich auch sehr wichtig, wenn verschiedene und eben nicht immer gleiche GTK-Oberflächen nebeneinander existieren wollen. Trotzdem frage ich mich, warum Gnome wieder einmal mit der eigenen Designphilosophie andere Projekte mitziehen muss: Wer ein libadwaita-Programm unter Xfce oder Mate nutzen möchte, bekommt den Anwendungsstil von Gnome präsentiert. Somit hat man eine visuelle Abhängigkeit zum Gnome-Umfeld geschaffen und kann nun davon ausgehen, dass die visuelle Einheit anderer Desktops massiv darunter leidet. Immerhin möchte Gnome ja ausdrücklich nicht “gethemed” werden.

Sicherlich ist es schön und gut, dass die grundlegende Technologie jetzt weniger von Gnome abhängt. Aber was nützt dass, wenn die Anwendungsebene wieder neue Hürden schafft und der Modularität auf dem Linux-Desktop wieder Steine in den Weg legt und Stöcke in die Speichen steckt. Mittlerweile ist es sogar leichter, Qt-Anwendungen über das entsprechende Plattformthema in eine GTK-Umgebung wie Xfce zu integrieren, als das mit libadwaita-Programmen möglich wäre, die ja technisch eigentlich enger bei einander liegen.

Unterm Strich bleiben das natürlich nur Beobachtungen. Ich frage mich nur, wie ich mir in Zukunft einen konsistenten Desktop zusammenschustern möchte, wenn ich nicht sofort eine Suite an Gnome- bzw. KDE-Anwendungen mitnutzen möchte.

Danke Gnome für die Innovation; schade das ihr immer wieder mit Standards brecht. Die Diskussion um die verschiedenen Toolkits wird wohl nicht abflachen, wenn alle immer alles besser wissen und auf den nächsten aber vielleicht grundlegend wichtigen Standard pfeifen oder sich zumindest die Konsequenzen der Innovation nicht vor Augen führen wollen.

Übrigens nutze ich auch gerne Gnome und KDE. Es ist nicht so, dass ich etwas gegen die Projekte hätte, im Gegenteil. Es ist bloß Schade, dass der Fortschritt eines großen Projekts so oft auf Kosten der kleineren von Statten zu gehen scheint.