Linux: Snap-Konkurrent Flatpak jetzt offiziell freigegeben
Ähnlich wie das Furore machenden Snap versucht Flatpak zu revolutionieren, wie sich Linux-Nutzer ihre Desktop-Anwendung installieren. DEB- und RPM-Pakete sterben dadurch aber keineswegs aus.
![Linux: Snap-Konkurrent Flatpak jetzt offiziell freigegeben](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/8/3/7/8/6/2/Bildschirmfoto_von__2016-06-23_14-07-42_-9e9ca1e16d34dc30.png)
Das Flatpak-Projekt hat die allgemeine Verfügbarkeit seiner Infrastruktur verkündet, die Linux-Desktop-Anwendungen in Pakete packt, die unter verschiedensten Linux-Distributionen laufen. Das soll Linux-Nutzern die Einrichtung von Programmen erleichtern, die der eingesetzten Distribution fehlen oder dort in einer älteren Version enthalten sind.
Das maßgeblich von einem Red-Hat-Mitarbeiter vorangetriebene Flatpak ermöglicht somit ähnliches wie Canonicals Snap-Infrastruktur. Der Ubuntu-Sponsor hat diese bei Ubuntu 16.04 eingeführt und bietet sie neuerdings auch für andere Distributionen an. Flatpak geht an einigen Stellen allerdings etwas anders vor.
Runtimes bilden ein Fundament
(Bild: flatpak.org )
Das seit vielen Jahren entwickelte und bis vor kurzem Xdg-App genannte Flatpak unterstützt etwa das Konzept von Laufzeitumgebungen, die eine Basis-Umgebung für Software stellen. Das Flatpak mit der Beta von LibreOffice 5.2 baut beispielsweise auf einer Runtime auf, die das Gnome-Projekt für Flatpak-Pakete anbietet. Die in der Laufzeitumgebung enthaltene Software braucht daher bei der Erstinstallation oder der Korrektur von Sicherheitslücken nicht mehrfach heruntergeladen werden. Auch einige Entwickler des KDE-Projekts erwägen, eine Laufzeitumgebung für Flatpacks anzubieten.
Kein zentraler Verteiler
Jedermann kann Flatpaks zum Download anbieten. Das gilt ähnlich auch für Snaps, wobei die zugehörigen Werkzeuge standardmäßig auf einen "Store" für Snaps zugreifen, den Canonical betreibt. Die für diesen Webdienst zuständige Software untersteht keiner Open-Source-Lizenz.
Die Snap-Werkzeuge sind auch nicht darauf ausgelegt, Snaps irgendwo anders herunterzuladen. Letzteres könnten Open-Source-Entwickler durch Codebeiträge zu den Snap-Werkzeugen ändern. Dazu müssten sie aber ein Contributor License Agreement (CLA) akzeptieren. Manche Entwickler wollen solch einen Vertrag nicht eingehen, mit dem man Rechte an Canonical abtritt; manche Programmierer können es auch nicht, weil der Arbeitgeber nicht zustimmt.
Einsatzbereiche
Beim kürzlich vorgestellten Fedora 24 lassen sich Flatpaks bereits einsetzen. Die Flatpak-Werkzeuge sind darüber hinaus in Arch Linux und Mageia Cauldron verfügbar sowie seit kurzem auch in Debian Unstable zu finden. Die Flatpak-Macher betreiben zudem ein Paket-Repository, über das man Flatpak-Unterstützung bei Ubuntu 16.04 nachrüsten kann.
Snaps werden bislang nur in den Distributionen der Ubuntu-Familie unterstützt; Canonical betreibt seit kurzem aber Paket-Repositories, über die sich Snap-Support bei Arch Linux, Debian und Fedora nachrüsten lässt. Noch ist ungewiss, ob diese und andere Distributionen die Snap-Tools integrieren werden, um das Paketformat von Haus aus zu unterstützen; ebenso unklar ist aber auch, ob weitere Distributionen (Gentoo, OpenSuse, …) Flatpak-Support einbauen werden. Technisch spricht nichts dagegen, beide Ansätze in einer Distribution zu unterstützen.
Konkurrenz
Flatpak und Snap konkurrieren mit etablierten Ansätzen, die ähnliches bereits ermöglichen. Alle voran ist das AppImage, das Linus Torvalds für die Linux-Version seiner Tauchsoftware verwendet, oder Portable Apps/Orbital Apps; das ebenfalls in dieser Liga spielende Limba ist indes raus aus der Nummer, denn dessen Entwickler hat seinen Ansatz kürzlich zu einem Forschungsprojekt erklärt.
Die drei anderen Ansätze schotten die Anwendungen aber nicht so gut ab wie Flatpaks oder Snaps; die Entwickler dieser zwei Techniken arbeiten zudem am Einsatz weiterer Isolationsverfahren, um die Abschirmung zu verbessern und so die Systemsicherheit zu steigern.
Ergänzung und kein Ersatz für DEB- und RPM-Pakete
Debian- und RPM-Pakete werden durch Flatpaks und Snaps indes nicht verschwinden. Diese beiden schon lange genutzten Formate eignen sich nämlich um ein vielfaches besser zum Schnüren von Software-Paketen, mit denen Distributoren dann Betriebssysteme oder Container nach dem Baukastenprinzip zusammenstellen können. Außerdem sind die etablierten Formate auch zum Erstellen von Snap- und Flatpak-Paketen relevant: Um nicht alle von einer Software benötigten Programme und Bibliotheken selbst kompilieren zu müssen, kann man beim Bau von Flatpaks und Snaps auf DEB- und RPM-Pakete zurückgreifen, die das Benötigte einsatzbereit enthalten. (thl)