Alex Larsson über die Flatpak-Revolution

Die Flatpak-Revolution
By: Matthias ClasenCC BY-SA 4.0

 

Flatpak 1.0 ist seit einigen Tagen als produktiv einsetzbare Version des alternativen Paketsystems verfügbar. Entwickler Alex Larsson vermutet, dass sich nach drei Jahren intensiver Entwicklung die Schlagzahl der Änderungen nun verlangsamen wird. Der Fokus soll sich jetzt mehr auf die umgebende Infrastruktur konzentrieren. Dazu gehört es unter anderem, Flathub für weiteres Wachstum zu rüsten und Flatpak 1.0 in die Distributionen zu bekommen. Darüber hinaus soll an den Laufzeitumgebungen und Portals  gearbeitet werden.

Larssons Revolution

Derweil hat sich Red-Hat-Mitarbeiter Larsson dazu geäußert, warum er die Entwicklung zu Flatpak überhaupt begonnen hat. Er hofft auf nichts weniger als auf eine Revolution – eine Revolution des Linux-Paketsystems, dass er als »fundamental kaputt« empfindet. App-Entwickler haben laut Larsson keine sinnvolle Möglichkeit, ihre Arbeit zeitnah an die Anwender zu verteilen.

Entwickler ohne Kontrolle

So müssten Entwickler theoretisch Pakete für verschiedenste Distributionen selbst zur Verfügung stellen, wenn sie die Kontrolle über die Aktualität  behalten wollen. Tun sie das nicht – was alleine zeitlich oft nicht möglich ist, ergeben sich weitere Probleme.  Nicht alle Distributionen paketieren alle Apps oder warten oft, bis die Anwendung bekannter ist, was zu einem typischen Henne-Ei-Problem für neue Apps führt. Und wenn die Anwendung dann paketiert ist, hat der Entwickler keine Kontrolle mehr über die angebotene Version und deren Updates, so Larsson.

Maintainer in der Mitte

Diese Entscheidungen obliegen dem Paketbetreuer der jeweiligen Distribution. Viele dieser Maintainer machen einen ganz prima Job. So war etwa Flatpak 1.0 in Debian Unstable bereits rund 12 Stunden nach Veröffentlichung verfügbar. Distributionen wie Arch Linux. KDE Neon oder KaOS bieten immer sehr aktuelle Pakete an.

Bugreports ins Leere

Auf der anderen Seite stehen Distributionen wie Debian Stable, wo viele Pakete bereits veraltet sind, wenn eine neue Version der Distribution veröffentlicht wird. Einerseits machen die abgehangenen Pakete einen Großteil der Stabilität von Debian aus, andererseits hat der Entwickler die dort verteilten Versionen bereits längst vergessen. Die Anwender schreiben aber im Bedarfsfall Bugreports gegen diese Versionen. Die Fehler sind dann oft längst mit neuen Versionen behoben, die der Anwender aber nicht installieren kann. Im Idealfall portiert der Maintainer die Fixes zurück in die ältere Version. Somit sind Entwickler und Endanwender getrennt, in der Mitte steht – zum Wohl oder Übel – der Maintainer.

Entwickler am Drücker

Hier kommen neue Paketsysteme wie Flatpak gerade recht. Sie erlauben auch bei eher unbeweglichen Distributionen die Verwendung aktueller Bibliotheken, gebündelt in verschiedenen Laufzeitumgebungen. Damit können dann auch aktuelle Software-Versionen genutzt und aktualisiert werden.  Ziel ist, dass der Upstream-Entwickler die Kontrolle über die Updates hat.

Schulterschluss mit den Usern

Wenn der Entwickler einen wichtigen Fehler behebt, wird im Fall von Flatpak eine neue stabile Version veröffentlicht, die die Anwender verschiedenster Distributionen sofort nutzen kann. Alle Fehler werden gegen die neueste stabile Version eingereicht, so dass sie nicht veraltet sind, und sobald der Fehlerbericht geschlossen wird, erhält der Benutzer die Korrektur. Das bedeutet, dass das Melden von Fehlern für den Benutzer greifbar Sinn macht. Diese Art von virtuosem Zyklus trägt laut Larsson dazu bei, sowohl die Entwicklungsgeschwindigkeit als auch die Softwarequalität zu verbessern.

Kommentare

8 Antworten zu „Alex Larsson über die Flatpak-Revolution“

  1. Avatar von Honka
    Honka

    Ich frage mich wer Flatpacks braucht wenn man die Wahl zwischen Rolling Releases und Stable Versionen von Linux hat. In beiden Fällen werden die Programme von der jeweiligen Community begutachtet, während man bei Flatpacks dem einen Entwickler vertrauen muss das der seine Programme keine Daten sammeln lässt usw. um sich seine Arbeit mehrfach zu vergolden. Und wie das läuft sieht man ja bei Android und IOS, da wird jeder Müll vertrieben. Mag sein das Flatpack mal was taugt wenn man z.B. die neuesten Version von Gimp braucht, aber mein Ding wäre das nicht, dann würde ich mir eher Arch oder sowat installieren.

    1. Avatar von Ferdinand

      Wer beispielsweise Debian Stable oder eine andere statische Distribution betreiben will oder muss, hat diese Wahl nicht. Hier macht Flatpak für mich Sinn. Das unterschreibe ich, solange nicht versucht wird, die etablierten Paketsysteme und damit auch das Maintainer-System ersetzen zu wollen.

  2. Avatar von tuxnix
    tuxnix

    Nichts gegen Flatpak an sich und auch meinen herzlichen Glückwunsch zur Reifung in eine 1.0 Version.
    Allerdings ist die Begründung von Alex Larsson doch recht merkwürdig und die damit verbundene Abwertung des Paket- und Distributionssystems m.M. nach völlig unnötig.
    Anwendungen die in alleiniger Verantwortung des Entwicklers und ohne weitere Kontrolle an den Anwender ausgeliefert werden, tragen ein nicht zu unterschätzendes Risikopotential in sich. Was hier passiert ist eher ein Kurzschluss als ein „Schulterschluss mit den Usern“.
    Das einige Distributionen sehr aktuell Paketieren während andere Distries gewollt auf Erprobtes setzen ist kein Fehler des Paketsystems. Die einzige Konsequenz die ich hier ableiten mag ist die recht alte Erkenntnis, dass Burgreports nur von aktuellen Versionen angenommen werden sollten.

    Eine Revolution des Linux-Paketsystems kann ich auch nicht entdecken.
    Chancen die sich durch das Flatpak ergeben sehe ich eher auf Seiten kommerzieller Anbieter.
    Flatpak erleichtert den Support von Software in einer heterogenen Distributions-Landschaft.
    Für kommerzielle Anbieter sind Larssons Argumente wie die Kontrolle über das Produkt stichhaltig.
    Bei freier Software sollte aber nicht der Hersteller eines Produkts die alleinige Kontrolle darüber haben was beim Anwender (am besten dann noch vollautomatisch) auf den Rechner gelangt. Ganz im Gegenteil.
    Das Paketsystem mit seinen Maintainern ist bisher ein Garant für die Sicherheit.
    Bei Flatpak vermag ich keine Struktur erkennen, die in dieser Richtung überhaupt noch wirksam wäre.

    1. Avatar von Ferdinand

      Ich stimme da weitgehend mit dir überein. Der gute Alex sieht halt seine Seite der Medaille und ich kann ihn verstehen, denn auch ich sehe das bestehende Paketsystem mit den Maintainern in der Mitte nicht als das allein seligmachende System an. Aber ohne Kontrolle alle Macht den Entwicklern kann es auch nicht sein. Das Portalsystem sorgt zumindest dafür, dass nötige Berechtigungen in einem Dialog mit dem User abgeklärt werden.

      Debian diskutiert ja gerade wieder einmal darüber, verhindern kann, dass Software im eigenen Archiv vergammelt. Wenn da mal was bei rauskommt, könnte das ein Schritt in die richtige Richtung sein.

      Ich setzte Flatzpak gerne und gezielt ein, um Software zu testen. Das tue ich meist in virtualisierten Umgebungen und entferne die Flatpaks hinterher meist wieder. Eine gewichtige Rolle werden Flatpaks mit Fedoras Projekt Silverblue einnehmen, dass mit Fedora 29 erstmals und noch experimentell veröffentlicht werden soll. Im Endeffekt gehtvieles, was heute gekocht wird, auf Lennart Poetterings Ideen zurück

  3. Avatar von tuxflo

    “ Im Endeffekt gehtvieles, was heute gekocht wird, auf Lennart Poetterings Ideen zurück“
    Was soll das denn bitte heißen? Das automatisch alles was von Lennart Poettering kommt doof ist?
    Ich bin zwar auch nicht immer Fan von den Entscheidungen die (im Hause RedHat) getroffen werden aber wenn man mal wirklich weiterkommen will muss man bereit sein alte Zöpfe abzuschneiden wie z.B. SysVInit oder eben die derzeitigen Paktetformate. Und wenn das dann gemacht wird, wird sich alle Mühe gegeben es „richtig“ zu machen. Um einen Eindruck von der Denkweise die ich meine zu bekommen empfehle ich CRE 209 – Das Linux System (https://cre.fm/cre209-das-linux-system) wo das Ganze mal erklärt wird (auch wenn es jetzt hier nicht um systemd geht).

    1. Avatar von Ferdinand

      Du bist auf der falschen Schiene 🙂 Ich mag sowohl Systemd als auch das Mastermind dahinter. Siduction hat Systemd schon eingeführt als Debian noch debattiert hat.

  4. Avatar von Nick
    Nick

    Ich muss sagen ich verstehe viele der vorgebrachten Argumente hier nicht. Schon allein von Risiken, völligem Kontrollverlust und weiterem zu sprechen, ist anhand des Sicherheitskonzepts von Flatpak ziemlich absurd. Zumal man einem Flatpak primär nicht mal vertrauen können muss, ohne das sich durch die Nutzung nun etwas Negatives ergibt. Und alles was bspw. von Flathub bezogen wird, wird ohnehin geprüft wie man das vom regulären Repository her kennt. Würde nun alles völlig unkontrolliert mit beliebigen Rechten ausgeführt werden, könnte man das ja noch nachvollziehen, aber aufgrund des sehr restriktiven Sandboxing unter anderem ist doch genau das Gegenteil der Fall. Für gewöhnlich laufen Flatpaks auch mit Nutzerrechten, und je nachdem unter einem eigenen /home, können quasi nur eigene Dateien/Prozesse sehen, und sind auch sonst standardmäßig ausserordentlich eingeschränkt im Bezug auf sensible Systemressourcen. Zwar kann das je nach Flatpak variieren, da gewisse Funktionalitäten den Zugriff auf mitunter gesperrte Bereiche erfordern, aber auch hier wird der Zugriff über die Portals stark reglementiert, um Zugriffe zu verhindern die den sicheren Rahmen verlassen. Wer Lust dazu hat kann das Ganze auch noch mit AppArmor erweitern, auch wenn das Flatpak-Konzept grundsätzlich darauf ausgelegt ist, schädliche Funktionalitäten zu unterbinden, was Spyware, Schäden am System, und Schädlinge verschiedenster Art mit einschließt. Und sofern man über keinen ausserordentlich wirksamen Kernel-Exploit verfügt, lassen sich die Restriktionen auch nicht mal eben umgehen. Letztlich wird auch die Härtung des Linux-Kernels laufend verbessert, um auch solchen Szenarien entgegenzuwirken.

  5. Avatar von tuxnix
    tuxnix

    @Nick
    Zum Sandboxing. Schon als Kind habe ich im Sandkasten am liebsten Tunnel gebaut.

    Es ist ein Unterschied ob ich von sauberen Sourcecode ausgehen kann, oder ob ich die Sicherheit nur dadurch vortäusche indem Anwendungen in einer Sandbox laufen und der User sein Einverständnis dann geben darf wenn auf Ressourcen zugegriffen werden soll. Natürlich sagt der User ja, wenn er Funktionalität haben möchte.

    Ich sehe durchaus Chancen die sich mit Flatpak ergeben.
    Ein Fehler wäre es aber das Paketsystem dafür zu vernachlässigen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert