Login
Newsletter
Werbung

Fr, 18. August 2017, 10:40

Software::Distributionen

Bassi: Dev versus Ops - Linux-Paketsysteme in der Krise

Gnome-Entwickler Emmanuele Bassi sieht die traditionellen Linux-Paketsysteme im Sterben und bricht eine Lanze für Software, die direkt von den Entwicklern bereitgestellt wird.

Mirko Lindner

Angeregt von einem Vortrag von Richard Brown auf der GUADEC in Manchester über die Vor- und Nachteile von AppImage, Snappy und Flatpak entwickelt Gnome-Entwickler Emmanuele Bassi seine Gedanken über den Zustand der Linux-Paketsysteme. Im Rückblick wundert er sich, wie diese überhaupt je funktionieren konnten. Vielleicht war das Festhalten an diesen Paketsystemen eine der wesentlichen Ursachen für den Mangel an Software und damit für den Misserfolg des Linux-Desktops.

Linux-Distributionen liefern ihre Software traditionell in Paketen aus, was auch naheliegend war, da jedes Paket eine Software repräsentiert, die von einem unabhängigen Projekt entwickelt wird. Diese Tradition begann bereits mit SLS 1992 mit simplen Tar-Archiven und entwickelte sich in vielerlei Varianten weiter, von denen heute das RPM- und das DEB-Format am weitesten verbreitet sind.

Die meisten Distributionspakete werden nicht von den Entwicklern der Originalsoftware betreut, sondern von Mithelfern der Distribution. Deren Hauptinteresse ist laut Bassi, die Software in einer Form einzubringen, die zur generellen Ausrichtung der Distribution passt. Das repräsentiert laut Bassi eine Administrator-zentrische Sicht der Dinge: Eine zentrale Instanz, die Distribution, legt fest, wie eine große Zahl von Rechnern funktionieren soll.

Seit mehr als 20 Jahren hat der typische Rechner, so Bassi, aber keinen Administrator mehr, zumindest im Privatbereich kümmert sich der Benutzer um alles selbst. Software wird unter Windows online bezogen - früher wurde sie in realen Läden gekauft - und selbst installiert. Unter Linux dagegen gab es nie eine nennenswerte Infrastruktur dieser Art. Natürlich kann man auch unter Linux alles installieren, was man möchte, aber für viele Benutzer läuft es darauf hinaus, dass sie ihren Administrator - in vielen Fällen vertreten durch die Distribution - darum bitten, ein Paket bereitzustellen.

Dazu kommt, dass die Paketmanager ausgesprochen unvollständig sind. Zahlreiche Programmiersprachen, darunter Perl, Python, PHP, Ruby, JavaScript, Rust und Go besitzen eine eigene Paketverwaltung, die vollständig separat von der Distributions-Paketverwaltung ist. Allenfalls C, C++ und TeX sind gut in die Distributionen integriert.

Das ist ein sterbendes Modell, meint Bassi, denn kein Anwendungsentwickler möchte so arbeiten, wie es die Linux-Paketverwaltungen vorsehen. Stattdessen wollen die Anwendungsentwickler eine wohldefinierte Umgebung, in der ihre Anwendung in einer aktuellen Version unmodifiziert läuft, so dass das Verhalten immer gleich ist und Fehler leicht zu reproduzieren sind. Es läuft darauf hinaus, Systeme wie AppImage, Flatpak oder Snappy einzusetzen, denn diese stellen genau solche wohldefinierte Umgebungen bereit, bei Bedarf auch unterschiedliche für unterschiedliche Anwendungen.

Das bisherige Paketmodell ist dagegen laut Bassi nicht skalierbar, es gibt zuviele Mittelsmänner und zuwenig paketierte Software. Wenn Benutzer die Software, die sie benötigen, nicht leicht installieren können, verlassen sie die Plattform und kommen nicht so schnell zurück. Wahrscheinlich war das in der Vergangenheit schon oft der Fall. Daher muss sich in nächster Zeit einiges ändern, die Mittelsmänner müssen stark reduziert werden. Viele freie Projekte müssen sich zudem mehr Gedanken über Reproduzierbarkeit, Lizenzierung, Sicherheits-Updates, kontinuierliche Integration, Qualitätssicherung und Validierung machen.

Es muss betont werden, dass dies lediglich Bassis Meinung und kein offizieller Standpunkt von Gnome oder einer anderen Organisation ist, doch scheint diese Meinung immer mehr auf Zustimmung zu stoßen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung