An ongoing Reddit discussion, about why snap is not good option. These comment caught my attention:

Some top comments:

“Snap is very Canonical centric, with one central repo, and a “works best on Ubuntu” feeling. Flatpak is more decentralized. Personally, I expect snap to die like all of the other things Canonical keeps inventing.”

   user replied: also, snaps is dependent on systemd containers. so I hope it will die.

“Flatpak works the same across distros; Snap is only containerized in Ubuntu. Also, Snap always does some weird mounting thing for me. I’m not really sure what benefits Snap has over Flatpak.”

Post link

Note: These discussion does matter. A newbie doesn’t just remain a newbie when they use Linux. Sooner or Later. I hope u know this better than me.

Snapd is not built on top of systemd’s nspawn container system. So that is a peculiar reason to object to snaps.

Both Snapd and Flatpak build their confinement system on top of the Linux kernel container APIs. One thing to keep in mind is that the kernel API is not monolithic: instead it lets user space decide what resources will be private to the contained process and what will be shared with the rest of the system. This allows for a range of systems to be built, from LXD providing what look like almost independent Linux systems, to intermediate systems like Docker, to solutions for simpler problems like “I want to mount a file system but have it only visible to this one process”.

Note also that both Snapd and Flatpak both use the container APIs to present a private view of the filesystem to the sandboxed application: on the snap side, the “base snap” is mounted as root, and on the Flatpak side, a tmpfs is used as the root with the application and runtime bind mounted as /app and /usr respectively. There are other differences in how the sandboxes are constructed, with Snapd relying on AppArmor for some aspects that Flatpak uses container APIs for.

1 Like

Details are good, but my point of view is not as developer point of view, as a normal newbie Linux (Ubuntu 19.04) user, I clearly see a huge speed difference and when I asked this on Reddit, all of them were criticizing me for choosing snap to install apps. There were many things we discussed.

U can test this on your own system.
Install VLC from apt and install it again from snap. You will see the difference.
I hope this changes in the near future.

Above Reddit discussion this particular post is from experienced Linux users, you can’t just say them “100%” wrong.

Speed matters. When I read these kinds of post on Reddit in trending, 90% of those users say why snap app file size is big and why snap app speed is slow comparison with other app installing mechanism.

If only the “speed” was not the problem, I would have been a big fan myself. Leaving alone the app file size.

I would avoid basing your opinions on this based purely on what you observe on Reddit. There are a lot of half-truths spread about and a lot of it comes from bias and animosity to others who aren’t running the same setup.

Ultimately, learn and judge for yourself as this tech has some advantages that you won’t get otherwise. For me speed has never been an issue and I love having first party support for software that wasn’t provided before. NodeJS, Jetbrains, VSCode, Mozilla all directly provide software on snaps. Same may not exist on flatpak or isn’t first party support. I love the concept of plugs, and I find them far more intuitive than the alternative permissions systems in flatpak. There are also significant advantages in security and consistency. You need to decide yourself for your own if it’s good or bad.

Sure there are flaws and issues here and there, but if everyone gave up at the first sight based on perception and opinion of others, than the tech would simply never exist. The perception of flaws, as a Linux user should be seen as an opportunity imho. Flaws offer opportunities to contribute back and to learn more. That kind of thing can give an extremely positive feeling for contributing to FOSS. I would feel sad if snaps were abandoned, and I think as a community we would lose out.

Even the speed aspect that you complain about has dramatically improved as flaws are improved.

5 Likes

There are good and bad points to centralized and decentralized systems, though some people often just express centralized=bad, decentralized=perfect.

Centralization leads to consistency and simpler systems, but of course require you to place trust in the store provider. The lack of a centralized repository was a disadvantage in Flatpak, which has now been somewhat solved with Flathub. ISVs like a responsible central authority as then they don’t have to run any infrastructure.

Decentralization works great if you have lots of small groups who want to build different systems under their own control. This fragmentation can however lead to a weaker experience for those who want things to “just work” and gives more opportunities for malicious actors to break the ecosystem.

Note that while the public Snap Store is central it is possible to have stores within it, so it’s not as simple as one giant pool of shared snaps.

Like most things in life, there’s trade offs between two options, and you need to pick the one that best solves your requirements!

3 Likes