Firefox is already the default browser on Ubuntu. This change is about the packaging of the browser used by the OS maintainers. I don't think this change will impact any use adoption metrics.
It is, as far as I know, the only cross-distro package format that is designed to be cross-platform (desktop, server, IoT) and with built-in sandboxing. Moreover, it is feasible to base a distro off of snap alone (Ubuntu Core, designed for IoT).
Flatpak has sandboxing, but is only designed for desktop apps. Not server and not IoT.
Nix / Guix / AppImage does not have built-in application-level sandboxing out of the box.
> It is, as far as I know, the only cross-distro package format that is designed to be cross-platform (desktop, server, IoT) and with built-in sandboxing. Moreover, it is feasible to base a distro off of snap alone (Ubuntu Core, designed for IoT).
It is not really cross-distro though, since different from Flatpak, Snap assumes many features to be enabled for sandboxing to work (like AppArmor [1]): https://wiki.archlinux.org/title/Snap#Installation. Flatpak only assumes, AFAIK, user namespaces support on Kernel.
[1]: This can be really problematic if your distro is using other MAC like SELinux, since while they're really not designed to run together.
1) snapd action logging doesn't go to the system logs and gets purged after 72 hours - makes troubleshooting why something broke REALLY fun
2) "snap" directory polluting your home directory
I really wish Google Playstore, and iOS/macOS App Stores would install apps automatically at background. Why I need to open those stores, click to update, and on Playstore even have it running at foreground to update?
Snap installs automatically, so it's modern.
Windows 11 Store, Chrome OS, and Linux Mint also can autoupdate at background.
Hopefully some day on all OSes have possibility to enable autoupdates to run at background.
Snap is best for server apps. When I release new version of Wekan Open Source kanban https://wekan.github.io , it's very soon updated to all servers around the world. That is great for getting Node.js etc security updates installed fast, making all servers safe. Wekan has automatic database migrations etc for upgrading database structure. Update happens fast, only minimal downtime and then server is running newest Wekan. It has worked great for many years.
I have not found anything else that would install updates automatically fast like Snap.
And Canonical paying all that huge server infrastructure for snap updates, build servers, bandwidth, etc.
And Microsoft paying for all the repo hosting, bandwidth, etc at GitHub.
And others like Linux Foundation/CNCF, IBM, MacStadium etc providing development and build servers.
It's all standing shoulders of huge amount of giants. I could not afford all that server infra myself.
Wekan has Snap, Docker, Source and Sandstorm versions. I'm trying to figure out how to add more packaging formats, and have current packaging formats for more CPU architectures.
Snap actually has a lot of benefits. Developers get a streamed way
of publishing Linux apps. Users get an easier access to apps, and
the benefit of sandboxing.
Case: at work recently I needed to use Microsoft Teams for a
business meeting. With snap, I only needed to do `snap install teams`,
and voila, I could start a web meeting with my customer.
Without snap, I would have to install Teams from Microsoft's apt repo.
I think this is pretty inferior to snap, because 1) It's harder to
manage, 2) implicitly grants a root access on my machine to Microsoft,
and 3) can break my system with package conflicts.
> Migrating the single most critical pieces of software on an Ubuntu install to a package format regularly criticised as slow and buggy is a brave move.
It is also Canonical-centric, there is pretty much only one repository under Canonical's control and closed source, and so forth. I missed out a lot of other things, but Snap is... nope. I would rather use Flatpak if I have to choose between the two.
I mean, if you (generally speaking) have experience with package managers on Linux, then you can easily see the difference between them and Snap. Snap to me is similar to Google's Play Store, but for desktop.
The Snap Store server is closed source and controlled only by Canonical. There is currently no fully functional FOSS reimplementation of the Snap Store server.
And software that releases only via Snap makes their use very limited. Before X went full Snap-only, I could at least download their .deb and easily "ar x" and "tar xvf" to get the executable which I could run, but now... nope.
I avoid Snap and any piece of software that publishes their stuff on Snap only. You cannot even download stuff from Snap, you need "snapd" running and then you gotta run "snap install X". Bah. To me it is pretty much equivalent to Google Play Store, except for desktop, and for Canonical.
Oh, and you cannot download older versions of the software.
39 comments
[ 9.4 ms ] story [ 1281 ms ] threadFlatpak has sandboxing, but is only designed for desktop apps. Not server and not IoT.
Nix / Guix / AppImage does not have built-in application-level sandboxing out of the box.
It is not really cross-distro though, since different from Flatpak, Snap assumes many features to be enabled for sandboxing to work (like AppArmor [1]): https://wiki.archlinux.org/title/Snap#Installation. Flatpak only assumes, AFAIK, user namespaces support on Kernel.
[1]: This can be really problematic if your distro is using other MAC like SELinux, since while they're really not designed to run together.
snap info go shows:
...To install an older version you can run
127.0.0.1 api.snapcraft.io
Snap installs automatically, so it's modern.
Windows 11 Store, Chrome OS, and Linux Mint also can autoupdate at background.
Hopefully some day on all OSes have possibility to enable autoupdates to run at background.
Maybe auto-insert kernelmodules directly from the net too, that would be a dream!! ;)
I have not found anything else that would install updates automatically fast like Snap.
And Canonical paying all that huge server infrastructure for snap updates, build servers, bandwidth, etc.
And Microsoft paying for all the repo hosting, bandwidth, etc at GitHub.
And others like Linux Foundation/CNCF, IBM, MacStadium etc providing development and build servers.
It's all standing shoulders of huge amount of giants. I could not afford all that server infra myself.
Wekan has Snap, Docker, Source and Sandstorm versions. I'm trying to figure out how to add more packaging formats, and have current packaging formats for more CPU architectures.
Better would be to run Snap inside LXC containers, it works well: https://github.com/wekan/wekan-snap/wiki/Many-Snaps-on-LXC
You cannot easily install software in Docker using snaps.
This makes snaps less useful on servers than traditional apt-get.
For TSC platform game https://secretchronicles.org/en/ , how can I get all .deb packages I made to official repos?
https://secretchronicles.org/en/download/
For those .deb packages, I had to compile for CPU architecture and distro separately, because of all the different versions of dependencies.
Case: at work recently I needed to use Microsoft Teams for a business meeting. With snap, I only needed to do `snap install teams`, and voila, I could start a web meeting with my customer.
Without snap, I would have to install Teams from Microsoft's apt repo. I think this is pretty inferior to snap, because 1) It's harder to manage, 2) implicitly grants a root access on my machine to Microsoft, and 3) can break my system with package conflicts.
Have been uninstalling Snap on each Ubuntu release and will not start using it when they try to make it mandatory.
I mean, if you (generally speaking) have experience with package managers on Linux, then you can easily see the difference between them and Snap. Snap to me is similar to Google's Play Store, but for desktop.
I avoid Snap and any piece of software that publishes their stuff on Snap only. You cannot even download stuff from Snap, you need "snapd" running and then you gotta run "snap install X". Bah. To me it is pretty much equivalent to Google Play Store, except for desktop, and for Canonical.
Oh, and you cannot download older versions of the software.