People are annoyed by canonical shoving snaps into their mouth at every opportunity (people want to choose when to use them by themselves), but there are many legitimate reasons for existence of snap and flatpak. Here are some of them:
the app developers themselves are in full control of their app’s distribution and updates instead of relying on distro maintainers. devs getting some angry mails for bugs already fixed but not yet included by distros is tale as old as time.
simplified dependency management. what’s stopping the dev from packaging their app using distro’s native package management instead? whelp, they don’t want to deal with this stuff. It can be a hard work, and there are dozens of distros out there to support.
protecting users data. when you run an app installed from your distro’s package manager, you know you can trust it because your distro maintainers have vetted the app to make sure it doesn’t read your mail or your browser history or your ssh keys. when you download the app from a third party source, you can only pray to god that those apps won’t mess with your data behind your back. You don’t have to worry about that when you use sandboxed apps like flatpak.
As an end user I actually love them (yes I know, sacrilege). Flatpak is my preference, but I also prefer pretty much anything to Ubuntu in its defailg state so that might have something to do with it.
Packaging applications is a hard work so they obviously want the devs to do it themselves. For example, canonical push hard so their users use snap for firefox because it’s maintained by firefox devs themselves. Firefox updates very often and has complex build system, so I think canonical is tired of allocating significant resource to support it and want to stop maintaining firefox package if they can.
Flatpak:
To limit shady proprietary software from accessing your full storage / hardware.
You can manage the sandbox access through tools like FlatSeal.
Snap:
To ruin your day / user experience.
Both where introduced as a universal way to distribute packages on various distros.
If you’re using a stable distro, the repo will end up with programs that are years out of date. So instead of compiling manually, you use flatpak/snap/appimage/nix/guix as an extra package manager. They also allow devs to release cross-distro packages.
I’m uninformed, why were things like snap and flatpak created?
I barely understand docker, but I’m starting to understand why it can be beneficial, although bloated.
People are annoyed by canonical shoving snaps into their mouth at every opportunity (people want to choose when to use them by themselves), but there are many legitimate reasons for existence of snap and flatpak. Here are some of them:
Yup, what makes flatpak more akin to the open source spirit is that new submissions to flathub are open source and rely on a PR model
https://docs.flathub.org/docs/for-app-authors/submission/
https://github.com/flathub/flathub/pulls
And software that exists on flathub is open and accessible in their repositories
https://github.com/orgs/flathub/repositories
Whereas snaps are a web based walled garden controlled by canonical
https://snapcraft.io/docs/using-the-snap-store
They both provide benefit as you explained, but flathub (flatpak’s default repo) is definitely more open in how it is handled
You still have to worry about that with Flatpak. Like, don’t give a calculator app permission to read all your files and access the internet.
but what if my calculator app needs to check its calculations with wolfram alpha
As an end user I actually love them (yes I know, sacrilege). Flatpak is my preference, but I also prefer pretty much anything to Ubuntu in its defailg state so that might have something to do with it.
None of the the benefits you state apply to something a distribution provides and so I don’t understand why Ubuntu is pushing them.
Packaging applications is a hard work so they obviously want the devs to do it themselves. For example, canonical push hard so their users use snap for firefox because it’s maintained by firefox devs themselves. Firefox updates very often and has complex build system, so I think canonical is tired of allocating significant resource to support it and want to stop maintaining firefox package if they can.
Flatpak:
To limit shady proprietary software from accessing your full storage / hardware.
You can manage the sandbox access through tools like FlatSeal.
Snap:
To ruin your day / user experience.
Both where introduced as a universal way to distribute packages on various distros.
If you’re using a stable distro, the repo will end up with programs that are years out of date. So instead of compiling manually, you use flatpak/snap/appimage/nix/guix as an extra package manager. They also allow devs to release cross-distro packages.