Snap czy Flatpak na uniwersalny format aplikacji? Jak zwykle Linux musi mieć co najmniej dwa standardy
Co wyróżnia Linuksa spośród innych systemów operacyjnych?Swoboda wyboru. Praktycznie dla każdego ważnego komponentu da sięznaleźć alternatywę, i złożyć z nowych klocków też działającą(choć trochę inaczej działającą) całość. To pozwalalinuksowej społeczności na toczenie wojen domowych owyższość/niższość Alsy nad pulsed, vi nad emacsem, GNOME nadKDE, nie mówiąc już o jednej z najważniejszych linii frontu –między systemami zarządzania pakietami. Wojenkę międzyklasycznymi DEB i RPM zaćmić jednak już niebawem może nowa, takana nasze bardziej uniwersalne czasy. Co powinno być bowiem jednym,jedynym słusznym standardem bezpiecznych pakietów oprogramowania,które działałyby na wielu dystrybucjach?
W minionym tygodniu Canonical ujawnił swoje ambicje – systempaczek snap zostałprzeniesiony na inne dystrybucje, w tym Archa, Debiana, Fedorę iGentoo. W założeniu idea jest szlachetna. Deweloperzy zamiastmęczyć się z budową wielu pakietów w różnych formatach naróżne dystrybucje (choć ten proces można dziś całkiem sprawniezautomatyzować), budująpo prostu snapa z aplikacją, który ruszy na praktycznie każdymobsługującym snapy Linuksie. I nie trzeba się przejmowaćzależnościami, wszystko działa zaraz po instalacji.
Za pięknie by jednak było, gdyby nagle wszyscy linuksowideweloperzy wzięli się do produkcji snapów. Wczoraj oficjalniemiał premierę drugi system pakietowania oprogramowania dla Linuksa,za swoich eksperymentalnych czasów znany jako xdg-app, a dziś jakoFlatpak.I także jest już dostępny na wiodących dystrybucjach, włączniez Archem, Debianem, Fedorą, Mageią oraz Ubuntu.
Flatpak jest przede wszystkim dziełem ludzi związanych ześrodowiskiem GNOME, na czele z głównym inżynierem RedHata,Alexandrem Larssonem. Założenia są bardzo podobne do założeńsnapa: pozwolić programistom budować oprogramowanie na stabilneplatformy uruchomieniowe, dostarczając niezbędne biblioteki izależności wraz z aplikacjami. Wszystko to w zgodzie zestandardami, całkowitej izolacji aplikacji umieszczonych weflatpakach od siebie nawzajem i od kluczowych elementów systemuoperacyjnego.
Aplikacja nie widzi bowiem systemu użytkownika, widzi tylkosiebie, swoje pliki, swoje biblioteki i ujawnione interfejsy jądra.Na pewno nie widzi sprzętu, innych procesów, ani plików, możnanawet zablokować jej dostęp do sieci. Deweloperzy Flatpakazapewniają, że zadbali o bezpieczeństwo, szczególnie dla tych,którzy uruchamiają oprogramowanie desktopowe pod kontrolą nowegoserwera grafiki Wayland. Tradycyjny X.org z jego modelem uprawnień(a właściwie z brakiem modelu uprawnień) do końca nie jestmożliwy do zabezpieczenia, o czym przekonaliśmy się już w wypadkusnapów (snap-miś hasła kradł bez trudu).
Lista wspieranych aplikacji przez oba systemy nie jest długa, alesą w niej istotne projekty. Przygotowywane są snapy z Firefoksem,LibreOffice, Kritą oraz pakietem do tworzenia sztucznychinteligencji Mycroft. Z kolei jako flatpaki oferowane mają byćLibreOffice, GIMP, Inkscape i Darktable. Samo The Document Foundationwydaje się jednak bardziej wskazywać na flatpaki, oświadczyło, żenowy standard pozwoli lepiej udostępniać LibreOffice i aktualizowaćje na wielu systemach.
Mimo podobieństw, coś jednak różni snapy od flatpaków. Tepierwsze są generalnie niezależne od desktopowych technologii, mogądziałać bez graficznego interfejsu, nadają się też na serwery.Te drugie zaprojektowano z myślą o działaniu w desktopowej sesji,z wykorzystaniem typowych desktopowych usług. RozwiązanieCanonicala może być wątpliwe pod względemlicencyjnym, trzeba na coś się zgadzać i coś podpisywać, bynad nim pracować. Rozwiązanie społeczności GNOME jest w pełniotwarte, każdy może z nim zrobić co zechce.
Tak więc, choć to Canonical był pierwszy ze swoim formatem, towłaśnie ta ostatnia kwestia może pozwolić na upowszechnienie sięflatpaków na innych dystrybucjach. Choć z drugiej strony, możliwyjest jeszcze jeden scenariusz – po prostu dystrybucje będąmusiały obsługiwać oba formaty, które może z czasem osiągnąjakiś poziom interoperacyjności, tak jak się to stało z GNOME iKDE dzięki inicjatywie Freedesktop.org.