Snap-pakketten versus Flatpaks: de verschillen en welke u zou moeten gebruiken
Als je enige tijd enige aandacht aan de Linux-gemeenschap hebt besteed, zou je denken dat er een verpakkende oorlog gaande was. Aan de ene kant heb je de Snappy-pakketten van Ubuntu, een technologie die oorspronkelijk alleen voor Ubuntu is gemaakt. Nu, met de release van Snapd, kan het op bijna alles worden uitgevoerd.
Aan de andere kant heb je Flatpaks, die in veel opzichten vergelijkbaar is met Snaps, behalve dat het meer open source is en afhankelijk is van individuele repositories in plaats van één centrale locatie. Deze technologie kan ook op bijna alles worden geïnstalleerd. Dus welke is beter? Welke moet je gebruiken? En vooral, wat zijn de verschillen? Laten we het uitzoeken!
Wat zijn de verschillen?
De verschillen tussen Snap-pakketten en Flatpaks zijn niet zo talrijk. Snap is in eigen beheer gemaakt door Canonical - het bedrijf achter Ubuntu - en de technologie is hard gecodeerd om de Snap-pakketwinkel te gebruiken. Sommigen zullen hiervan nerveus zijn, omdat Ubuntu volledige controle heeft, en in feite om een Snap-pakket te maken, moet je een Contributor-licentieovereenkomst tekenen (iets waar sommige mensen heel erg tegen zijn).
Bij Flatpaks is alles open source en niet zo gecentraliseerd als Snaps. Belangrijker is dat Flatpaks meer gericht zijn op het leveren van software aan desktops, en Snap-pakketten zijn in feite gewoon servertechnologie die Canonical heeft gebruikt voor de desktop, maar werkt voor beide.
Flatpak heeft geen gecentraliseerde winkel om over te praten. Zelfs nu, als je het installeert, zul je niet zo gemakkelijk dingen vlot kunnen laten gaan. De software werkt in wezen hetzelfde als het Ubuntu PPA-systeem. Je moet op zoek gaan naar een repository en deze vervolgens toevoegen. Dit staat in contrast met hoe Snaps werkt, die alleen uit de Canonical pittige winkel komen en nergens anders (voorlopig).
Wanneer u een Snap-pakket installeert, krijgt u in feite alle afzonderlijke componenten van de software die u nodig hebt om iets in één volledig pakket uit te voeren (denk aan Docker-containers als u in de war bent). Bijvoorbeeld: u installeert een Snap die het volledige Gnome-bureaublad bundelt. Het zou worden gebundeld met alles, bibliotheken en alles.
Met Flatpak is alles een beetje anders. Neem het Gnome-voorbeeld. Het flatbed van de Gnome Desktop zou alle vereiste bestanden hebben, maar niet elke afzonderlijke bibliotheek - tenzij de ontwikkelaar ervoor koos om dit te doen. Het Flatpak-team heeft een runtime gemaakt die alles bevat wat je nodig hebt.
Welke moet je gebruiken?
Het is moeilijk te zeggen welke technologie hier de leider zal zijn. Het lijdt geen twijfel dat mijn mening over deze kwestie zal worden beantwoord door enkele boze opmerkingen die pleiten voor de ene positie boven de andere, dus voordat ik verder ga, wil ik graag duidelijk zijn. Flatpaks en Snap-pakketten zijn beide zeer interessante en unieke ideeën.
Het is mij duidelijk, op dit moment althans, dat Snap-pakketten het ding zouden zijn om te gebruiken als wat je wilt een "universeel pakketformaat" is. Met Snapd beschikbaar voor bijna elke distributie waarop het kan bouwen, wordt het steeds gemakkelijker om te krijgen gaan. Wat belangrijker is, is dat iedereen het kan achterhalen. U hoeft geen repository-urls zoals Flatpak te vinden. Gewoon installeren en gaan.
Dat wil niet zeggen dat Flatpak niet de moeite waard is. Als je bijvoorbeeld op Fedora 24 zit, zou je optimaal gebruik moeten maken van Flatpak. Je kunt het ook op Arch laten werken, als je daar zin in hebt door dit AUR-pakket te installeren, of door het zelf te bouwen vanuit Github.
Conclusie
Hoewel Flatpak en Snappy geen nieuwe ideeën zijn, hebben ze veel kracht achter zich. We hebben in het verleden tools als AppImage (en andere) gehad en ze hebben nooit echt zoveel grip gekregen. Ik denk echter dat zowel Flatpak als Snappy beschikken over wat er nodig is om meer universele installatietools onder Linux te laten opstarten - zelfs als dit betekent dat we twee hoofdformaten hebben in plaats van één.
Sommige mensen zeggen dat te veel keuze op Linux slecht is. We hebben te veel distributies, te veel binaire pakketformaten, te veel keuzes voor het bestandssysteem, te veel bureaubladomgevingen en de lijst gaat maar door. Ik denk echter dat wat sommigen zeggen een zwakte is, ook een grote kracht is. We kunnen onze inzetten hedgen met zowel Snappy als Flatpak. Als iemand slecht wordt, kunnen we iets anders proberen, of als het allebei een slechte zaak is, is het een win-win situatie waarin we allemaal de vruchten plukken.
Hoe voel je je als het gaat om Snap-pakketten versus Flatpaks? Vertel het ons hieronder!