Snap, Flatpak, AppImage i co z tego dziś mamy
Pamiętacie mroczne czasy pod peleryną opiekunów pakietów, którzy mogli wykazać się raz na rok – dwa lata i zaktualizować jakiś program? Pamiętacie przełom jaki dokonał się z pojawieniem się Arch Linuksa, repozytoriów PPA Ubuntu? Owszem, wprowadziło to wszystko pewną dozę bałaganu, ale jeżeli ktoś się orientował co i jak może popsuć zależności, dawał sobie radę. Niemniej, ogół społeczności oczekiwał rozwiązań które wprowadzą łatwość uruchamiania najnowszego oprogramowania ot tak po prostu, bez czekania na opiekuna pakietów lub PPA. W świecie OpenSource nie ma rzeczy niemożliwych. Szkoda tylko, że na wskutek tego stworzono od razu trzy różne „uniwersalne” formaty.
Założenia „uniwersalnych” formatów są takie, że każdy deweloper powinien w prosty sposób przygotować taką paczkę (vide .exe dla Windowsa) i udostępnić ją gdziekolwiek. Użytkownik końcowy powinien do takiej paczki mieć dostęp niemal natychmiastowy w dniu premiery nowej wersji programu. Co więcej, uruchomienie powinno nastąpić po nieskomplikowanych czynnościach, jak np. dwuklik. Czy coś z tych wzniosłych ideałów zostało przemycone do naszej rzeczywistości? No cóż, gdzie kucharek sześć w trzech osobach, tam nie ma co jeść.
Snap | Flatpak | AppImage | |
---|---|---|---|
Snap | Flatpak | AppImage | |
Używalne bez dodatkowego oprogramowania | nie | nie | tak |
Centralne repozytorium | tak | tak | nie |
Automatyczne aktualizacje | tak | tak | nie |
Niezależność | nie (Canonical) | nie (Red Hat) | tak (Społeczność) |
Bezpieczeństwo i piaskownica | tak (tylko AppArmor) | tak (tylko Bubblewrap) | tak (AppArmor, FireJail, Bubblewrap) |
Uruchamianie bez piaskownicy | nie | nie | tak |
Współdzielenie bibliotek | podstawowe | pełne | nie |
Integracja tematyczna z systemem | nie | nie | tak |
Zatem reasumując. Twórcy nadal muszę przechodzić nieżyciowe procedury (vide opis jak stworzyć i zgłosić coś do repozytorium Flatpak). Użytkownik nadal musi organizować odpowiednie oprogramowanie (Menedżer pakietów) które obsłuży mu uniwersalne formaty. Jeżeli nawet skupimy się na AppImage które jest najmniej uciążliwe, to wyobraźcie sobie bałagan w systemie za pół roku. Bo AppImage się nie zaktualizują automatycznie i wszystko trzeba robić ręcznie.
Na dzień dzisiejszy w zbiorczym AppImageHub znajduje się 276 paczek. W przypadku uAppExplorer dla paczek Snap jest ich tam 1343 sztuk. Flashub udostępnia zaś około 200 paczek Flatpak.
Co wybrać? Najrozsądniej jest polegać na własnych potrzebach i na własnym głosie rozsądku. Jakkolwiek powyższe paczki rozwiązują w pewnym stopniu problem „przenoszenia” programów pomiędzy dystrybucjami bez konieczności rekompilacji, to w ostatecznym rozrachunku są dość niewygodne w użyciu. Duża objętość, mizerna integracja z systemem a w niektórych przypadkach brak automatycznej aktualizacji. Dla twórców oprogramowania jest to jakieś rozwiązanie – jeżeli uda im się przebrnąć przez niuanse tworzenia takich paczek (Github wydatnie w tym pomaga), to za jednym ruchem i za jedną paczką mają ogarnięte niemal wszystkie dystrybucje. Gra jest zatem warta świeczki. A nam pozostaje traktować powyższe jako doraźną formę szybkiego dostępu do najświeższego oprogramowania. A potem pozostaje spokojnie zaczekać, aż zostanie przygotowana standardowa paczka do standardowych repozytoriów.