Ontwikkelaars van Red Hat lanceren een nieuw pakketformaat dat toelaat om Linux-software op alle distributies te draaien. Flatpak werkt onder andere in Fedora en Ubuntu.

Nadat Ubuntu eerder zijn pakketformaat Snap voor andere Linux-distributies introduceerde, doet het concurrerende formaat Flatpak (voorheen xdg-app) dezelfde aankondiging. Voorlopig ondersteunt Flatpak de Linux-distributies Arch Linux, Debian, Fedora, Mageia en Ubuntu.

De drijvende kracht achter Flatpak is Alexander Larsson, principal software engineer bij Red Hat. Het mag dan ook niet verbazend at Flatpak al beschikbaar is in de officiële repository’s van Fedora 23 en 24.

Eén pakket voor alle distributies

Ontwikkelaars van Linux-software hoeven met Flatpak hun programma maar één keer in een pakket te gieten om het op al die distributies beschikbaar te maken. Onder andere LibreOffice, The GIMP, Inkscape, MyPaint, Darktable en een boel standaard GNOME-toepassingen zijn al als flatpaks te installeren.

Net zoals bij Snap zijn Flatpak-toepassingen geïsoleerd van elkaar en van de Linux-distributie waarop ze draaien, wat veiliger is dan traditionele softwarepakketten. Maar omdat de displayserver X11 inherent onveilig is, is volledige isolatie volgens het project pas mogelijk bij gebruik van Wayland.

Kleinere pakketten dan Snap

Zowel Snap als Flatpak willen hetzelfde bereiken, maar doen dat op een andere manier. Beide systemen bundelen een toepassing met zijn dependency’s, maar Flatpak splitst een boel basisdependency’s af in ‘runtimes’ (bijvoorbeeld een runtime voor GNOME). Daardoor is een Flatpak-pakket kleiner dan een Snap-pakket van dezelfde software. En omdat meerdere pakketten dezelfde runtimes delen, spaar je in totaal opslagruimte.

Flatpak is dus eigenlijk een oplossing tussen het traditionele model met alle dependency’s gedeeld en het model van Snap waarbij alle dependency’s in het pakket zitten. In Snap is het ook technisch mogelijk om dependency’s af te splitsen in een runtime, maar dat gebeurt momenteel niet.

Een ander verschil is dat Flatpak voor desktoptoepassingen is bedoeld, terwijl Snap ook servertoepassingen ondersteunt.