Hvis du har betalt oppmerksomhet til Linux-samfunnet for sent, ville du tro at det var en pakkingskrig på gang. På den ene siden har du Ubuntu's Snappy-pakker, en teknologi som opprinnelig ble opprettet for Ubuntu. Nå, med utgivelsen av Snapd, kan den kjøres på nesten alt.

På den andre siden har du Flatpaks, som i hovedsak ligner på mange måter å Snaps, bortsett fra at den er mer åpen kildekode og er avhengig av individuelle repositorier i stedet for en sentral plassering. Denne teknologien kan også installeres på nesten alt. Så, hvilken er bedre? Hvilken skal du bruke? Og viktigst, hva er forskjellene? La oss finne det ut!

Hva er forskjellene?

Forskjellene mellom Snap pakker og Flatpaks er egentlig ikke så mange. Snap ble opprettet internt av Canonical - selskapet bak Ubuntu - og teknologien er hardkodd for å bruke Snap-pakkebutikken. Noen kan være nervøse for dette, da Ubuntu har total kontroll, og for å kunne lage en Snap-pakke må du signere en lisensavtale for forbruker (noe som noen mennesker er veldig mot).

Med Flatpaks er alt åpent og ikke så sentralisert som Snaps. Det som er viktigere er at Flatpaks er mer fokusert på å levere programvare til skrivebord, og Snap-pakker er i utgangspunktet bare serverteknologi som Canonical har vedtatt for skrivebordet, men fungerer for begge.

Flatpak har ingen sentralisert butikk å snakke om. Selv nå, hvis du installerer det, trenger du ikke nødvendigvis å kunne få ting å gå så enkelt. Programvaren fungerer i stor grad som Ubuntu PPA-systemet. Du må gå ut og finne et lager og legge til det. Dette er i kontrast til hvordan Snaps fungerer, som bare kommer fra den canoniske snappy butikken og ingen andre steder (for nå).

Når du installerer en Snap-pakke, får du i det hele tatt alle deler av programvarekomponenten, du må kjøre noe i en hel pakke (hvis du er forvirret, tenk på Docker-beholdere). For eksempel: du installerer et Snap som bunter hele Gnome-skrivebordet. Det vil bli buntet med alt, biblioteker og alt.

Med Flatpak er alt litt annerledes. Ta Gnome-eksemplet. Gnome Desktop Flatpak ville ha alle filene som kreves, men ikke hvert enkelt bibliotek - med mindre utvikleren valgte å gjøre det. Flatpak-laget skapte en kjøretid som burde huske alt du trenger.

Hvilken skal du bruke?

Det er vanskelig å si hvilken teknologi som vil være lederen her. Det er ingen tvil om at min mening om denne saken vil bli møtt av noen sint kommentarer som argumenterer for en posisjon over den andre, så før jeg går videre, vil jeg bare være klar. Flatpaks og Snap-pakker er begge veldig interessante og unike ideer.

Det er klart for meg, i det minste i hvert fall, at Snap-pakker ville være tingen å bruke hvis du vil ha et "universalpakkeformat". Med Snapd tilgjengelig for nesten hver distribusjon som den kan bygge på, blir det stadig enklere å få går. Det som er viktigere er at noen kan finne ut det. Du trenger ikke å jakte på lagringsadresser som Flatpak. Bare installer og gå.

Det er ikke å si at Flatpak ikke er verdt. Hvis du er på Fedora 24, for eksempel, bør du dra full nytte av Flatpak. Du kan også få det til å fungere på Arch, hvis du er i det ved å installere denne AUR-pakken, eller ved å bygge den selv fra Github.

Konklusjon

Selv om Flatpak og Snappy ikke er nye ideer, har de stor kraft bak dem. Vi har tidligere hatt verktøy som AppImage (og andre), og de har egentlig ikke så mye trekkraft. Imidlertid tror jeg at både Flatpak og Snappy har det som trengs for å gjøre flere universelle installasjonsverktøy på Linux av, selv om det betyr at vi har to hovedformater i stedet for en.

Noen sier at for mye valg på Linux er dårlig. Vi har for mange distribusjoner, for mange binære pakkeformater, for mange filsystemvalg, for mange skrivebordsmiljøer, og listen fortsetter. Men jeg tror at det noen sier er en svakhet er også en stor styrke. Vi kan sikre våre spill med både Snappy og Flatpak. Hvis man ender med å være dårlig, kan vi prøve noe annet, eller hvis de begge er goo, er det en vinn-vinn-situasjon der vi alle høster fordelene.

Hvordan føler du når det gjelder Snap pakker versus Flatpaks? Fortell oss nedenfor!