Differenze tra pacchetti Snap e Flatpak
È passato molto tempo da quando i pacchetti hanno iniziato ad essere utilizzati snap e flatpack. Sebbene fossero in fase di test da un po' di tempo, entrambi hanno iniziato ad essere realmente utilizzati nel 2016, quindi qualsiasi utente Linux avrà già provato qualche altro pacchetto di questo tipo.
Vediamo le differenze tra i pacchetti Snap e Flatpak per aiutarci a capire quali scegliere.
Aggiornamenti dei pacchetti
Tieni inoltre presente che i flatpak vengono aggiornati di più, mentre gli snap vengono aggiornati solo quando viene caricata la versione. È comune vedere l'aggiornamento flatpak alla stessa versione molte volte, perché dovrebbero aver risolto qualcosa e l'aggiornamento arriva non appena caricano la patch.
Altri pacchetti vengono aggiornati molto presto, in modo simile a come fanno le distribuzioni Rolling Release, e questo non sempre ci porta cose buone. Il snap vengono aggiornati un po' meno e di solito offrono versioni che sembrano più stabile, ma questa differenza è generalmente piccola.
Software disponibile
In termini di software disponibile, Flathub batte di gran lunga Snapcraft. Infatti in più occasioni sono scomparse le applicazioni che c'erano su Snapcraft, mentre su Flathub continuano ad essere e si aggiornano. Gli sviluppatori, almeno quelli medi e piccoli, di solito scelgono Flathub, e tutte le nuove applicazioni che arrivano nel cerchio di GNOME compaiono presto lì.
Tuttavia, il design degli snap li rende un'opzione migliore per il confezionamento e la distribuzione di altri tipi di software, come driver o persino versioni di Python come la 3.8.
Integrazione con il sistema operativo
I pacchetti snap hanno un sistema di permessi completo quindi è possibile configurarli per interagire con il sistema operativo e le applicazioni installate nel modo consueto. Queste permessi consentono che i pacchetti snap si integrino meglio con il sistema rispetto ai flatpak. Ad esempio, ci sono applicazioni multimediali che mostrano informazioni nel task manager di KDE quando si usa la versione snap, ma solo l'icona dell'applicazione quando si usa la versione flatpak.
Sicurezza
I programmi installati dai pacchetti Snap (e gli stessi installer) vengono eseguiti in una sandbox, aumentando così la sicurezza del sistema – poiché ciascun eseguibile può accedere soltanto alla zona di memoria assegnata dalla sandbox stessa, senza sforare.
Lato sicurezza, anche per Flatpak valgono gli stessi vantaggi e svantaggi di Snap: i Flatpak e le app installate da esso vengono eseguiti in una sandbox, ciò significa che hanno la possibilità soltanto di vedere ed agire su sé stesse e su ristrette e precise zone di memoria.
L'aspetto sicurezza, però, al momento diminuire drasticamente a causa di alcuni problemi di sicurezza intrinsechi del server grafico X; per garantire la sicurezza degli Snap e dei Flatpak e del relativo software installato, dunque, è necessario utilizzare un server grafico moderno come Wayland o Mir. Wayland è diventato il protocollo grafico predefinito dalla versione di Ubuntu 21.04. Wayland è stato inoltre adottato ufficialmente da Fedora dalla versione 25. Quindi il problema di sicurezza riguarda le versioni di Linux datate.
Va comunque detto che Flatpak supporta SELinux per offrire un ulteriore isolamento e tutti gli ambienti virtuali basati su OCI – Open Container Initiative.
Velocità di apertura
I flatpack si aprono molto prima. Aspettare 10 secondi prima che un'applicazione si apra in formato snap se hai un computer con un buon processore e SSD è decisamente troppo. Canonical sta migliorando molto con il pacchetto di Firefox, quindi c'è spazio per migliorare e ridurre il tempo di caricamento deim pacchetti snap.
Software proprietario
Potrebbe essere qualcosa che non piace a molti utenti della comunità Linux, ma a volte è necessario utilizzarlo. In Snapcraft c'è Visual Studio Code (ufficiale) di Microsoft o Steam di Valve con assolutamente tutto nello stesso pacchetto. Gli snap sono spesso scelti dalle grandi aziende, in parte per il loro design, ma anche perché Canonical stringe accordi con le aziende per dare loro la priorità.
Cosa installo: snap o flatpak?
Come ho detto nello spoiler all'inizio del post, credo non devi optare per uno per decreto. Devi provarli. Se vuoi qualcosa di più aggiornato, dovresti probabilmente andare con il flatpak. Se è necessaria una maggiore integrazione, potrebbe valere la pena utilizzare lo snap. Naturalmente, se una delle due opzioni non funziona sul nostro computer, dobbiamo utilizzare l'altra.
Personalmente, utilizzo i flatpak più degli snap, ma principalmente per un motivo: il programma o l'applicazione che utilizzo è su Flathub e non su Snapcraft.