Weg mit den Dreckstools! (Teil 4: Paketmanager)

Die Open-Source-Szene hat uns Softwarepaketmanager und -sammlungenn beschert: Ports, pkgsrc, APT, dpkg, RPM, Fink, MacPorts und so weiter. Wozu braucht man so etwas? Aus Nutzersicht ist das Problem einfach:

»Here’s the scenario: In order to accomplish some given task, Jane User wants to use a program, which is not yet installed. The sole point of a package system is to get Jane to her goal (running and using said program) as fast and efficient as possible.«

(Michael Weber, MacPorts are Fatally Flawed)

Das Problem bleibt einfach, wenn man es in der Praxis betrachtet. Eine Softwareinstallation unter Mac OS sieht ideal so aus:

  1. Image runterladen
  2. Image öffnen (das ist ein Doppelklick)
  3. Exakt ein Icon finden, das die neue Anwendung repräsentiert
  4. Icon in den Ordner Applications (oder auf den Desktop oder sonstwohin) schieben
  5. Image schließen und in den Papierkorb werfen.

Deinstallieren ist auch nicht schwerer, man wirft seine Anwendung einfach in den Papierkorb. In komplizierteren Fällen kommt noch ein Installer hinzu, der dem Benutzer jedoch selten mehr abnötigt als die Zustimmung zur Lizenz und ein paar zusätzliche Mausklicks. Softwareinstallation kann für den Benutzer  äußerst einfach und entspannt sein.

Nicht so mit den szenetypischen Paketmanagern. Die lösen nicht das oben genannte Problem, sondern ein anderes, künstliches. Eine wichtige Rolle dabei spielen Abhängigkeiten zwischen Paketen. Wobei Pakete nicht das sind, was man sich landläufig unter einem Softwarepaket vorstellt, sondern ganz kleine Häppchen, von denen man sehr viele braucht, um ein nützliches Stück Software zusammenzubauen. Jedes Softwarepaket wird also in solche Häppchen aufgeteilt. Dabei sucht man nach Häppchen, die in mehreren Softwarepaketen gleichzeitig vorkommen und versucht, sie nur einmal zu installieren. Diese Optimierung ist zwar im Zeitalter der 160-GB-iPods völlig sinnlos, aber sie macht aus der einfachen Softwareinstallation von oben ein kompliziertes, anspruchsvolles Problem. So anspruchsvoll, dass keine der existierenden Paketsammlungen es auch nur annähernd befriedigend löst.

Ich will das nicht haben. Ich will Icons in den Ordner Applications schieben.

2 Kommentare zu „Weg mit den Dreckstools! (Teil 4: Paketmanager)

  1. Ich sehe das prinzipiell auch so – allerdings ist die Überlegung meiner Meinung nach unvollständig, denn: Schritt 1, Image herunterladen, ist für jedes gewünschte Programm ein Aufwand, der die Installationszeit überschreiten kann. Package-Repositories bieten hier einen Vorteil, da alle verfügbaren Programme des Repositories direkt heruntergeladen werden. Natürlich kann kein Repository den Anspruch auf Vollständigkeit erheben.
    Ein weiterer Einwand: Da viele Programme etliche Fehler oder Sicherheitsrisiken enthalten, grassiert derzeit das Patch-Management – es kommen ständig neue Versionen heraus. Für viele Programme, nicht alle, müssen die Schritte 1-5 wiederholt durchlaufen werden. Das will ich aber nicht haben – ich möchte, dass regelmäßig eine automatische Aktualisierung aller Software vorgenommen wird.
    Ein Schritt in die richtige Richtung wäre daher beispielsweise http://maclibre.com/

  2. Paketmanager lösen das Update-Problem aber gerade nicht. Jede Anwendung kann jederzeit für sich ein Update benötigen. Das müssen die Entwickler dieser Anwendung liefern, nachdem sie es produziert und getestet haben. Paketmanager schaffen die Illusion, man könne diese um gehen, indem man gemeinsame Bestandteile — Bibliotheken etc. — in ein Extrapaket auslagert. Das führt aber in der Praxis wieder nur in die Dependency Hell. De facto führen die typischen Paketmanager dazu, dass ich gar nichts mehr aktualisiere, weil mir das sehr konsistent Probleme bereitet.

    Von mir aus darf das Betriebssystem gerne einen Mechanismus bereitsstellen, der Anwendungen dabei hilft, Patches zu beziehen und zu installieren. Was ich aber nicht will, ist die Zerstückelung jeder Anwendung in kleine Häppchen und die ganzen künstlichen Probleme, die man sich damit einhandelt.

Die Kommentarfunktion ist geschlossen.