I’ve gathered that a lot of people in the nix space seem to dislike snaps but otherwise like Flatpaks, what seems to be the difference here?
Are Snaps just a lot slower than flatpaks or something? They’re both a bit bloaty as far as I know but makes Canonicals attempt worse?
Personally I think for home users or niche there should be a snap less variant of this distribution with all the bells and whistles.
Sure it might be pointless, but you could argue that for dozens of other distros that take Debian, Fedora or Arch stuff and make it as their own variant, I.e MX Linux or Manjaro.
What are your thoughts?
The server is proprietary and last I checked you can’t even turn off auto-updating or verify the binaries they push to you.
https://www.zdnet.com/article/linux-mint-dumps-ubuntu-snap/
In the Ubuntu 20.04 package base, the Chromium package is indeed empty and acting, without your consent, as a backdoor by connecting your computer to the Ubuntu Store. Applications in this store cannot be patched, or pinned. You can’t audit them, hold them, modify them, or even point Snap to a different store. You’ve as much empowerment with this as if you were using proprietary software, i.e. none. This is in effect similar to a commercial proprietary solution, but with two major differences: It runs as root, and it installs itself without asking you.
This is why I don’t love snaps, proprietary backend. I think snaps actually work great for the most part, and flatpaks don’t support cli apps, only GUI.
I don’t know why people keep saying that flatpaks don’t support cli apps. They do. I know it’s awkward to type out
flatpak run io.github.zyedidia.micro
or whatever every time you want to use a text editor, but aliases fix that pretty neatly, and that example wasn’t hypothetical.You don’t even need to create aliases yourself. Flatpak creates wrapper scripts for every app that you install. Just symlink them into your PATH.
ln -s /var/lib/flatpak/exports/bin/org.example.CliTool ~/.local/bin/cli-tool
or if you are using a user remote
ln -s ~/.local/share/flatpak/exports/bin/org.example.CliTool ~/.local/bin/cli-tool
(Note: some lemmy clients render the the tilde in code blocks incorrectly)
This is news to me! I’m honestly just paroting others with the no CLI support, I never did the homework. Shame on me I guess!
What? I’ve used neovim flatpak without issues in Fedora and openSuse…
deleted by creator
- proprietary server (snap store), unlike flatpak
- snapd only allows one server (but it is foss so you could just patch it), unlike flatpak
- nonexistent security on snap store, multiple times malware, unlike flatpak
- no sandboxing without apparmor and specific profiles, so not cross platform, unlike flatpak
- the system apps are also requiring apparmor, so not cross platform
- they lack granular permission systems afaik
- they concur with flatpak, which is horrible as we need a universal packaging format, not 3
- seemingly no reproducible builds?
- no separation between all, opensource, verified repo, unlike flatpak
- they pollute the mount list with all the loop devices
And people complain abour resource usage etc, but that is just separating apps from the system. Flatpak does the same.
You forgot also snaps pollute both the mount list and the path. Whether you like or dislike the second is up to opinion, but nobody likes the first.
also how slow they are to launch
Yeah but this is just because they are sandboxed and use their own libs.
There is a ton of overhead
So they have GPL Violation’s?
Believe it or not, if you build something you can license it however you want. Canonical has long required outside contributors to sign agreements too, to allow just this sort of thing.
They’re pulling packages from Debian and i don’t know if they’re doing Nvidia like stuff or not.
I think the second point is the biggest for me: it’s almost like Canonical wanted to have a single dominant store for apps, as the ecosystem they are building supports only one. And, apparently, that one server is also closed?
So if you try to make an alternative source and give instructions to people how to configure their snap installation to use it (I found this information very hard to find for some reason…), your “store” probably won’t have the same packages Canonical’s has, so users won’t be able to find the packages and I imagine updates are also now broken?
Contrasting this with flatpak: you just install apps from wherever. Or from flathub. Or your own site. Doesn’t matter. No business incentive behind—built into the tools—to make everyone use flathub.org.
Yes, Flathub is important but there are many other repos. Nothing for non development though.
I maintain a hopefully complete list here
Not to mention the extremely complicated back end. Flatpak doesn’t need extra permissions because it is based on bubblewrap. Snap is doing its own thing which is incredibly complicated.
Research what happened to Upstart, Mir or Unity. It won’t take long until snap becomes one of them. Somebody at canonical seems to desperately obsess over having something unique, either as a way to justify canonicals existance or even in the hopes of making the next big thing. Over all these years they never learned that whatever they do exclusively will always fall short of any other joint efforts in the linux world, because they always lack the technical advances, ability/will to push it for a prolonged time and/or the non-proprietary-ness. So instead of collaborating like every serious linux vendor, they’re polluting their distro with half-assed, ever changing and unwanted experiments. They’re even hijacking apt commands to push their stupid snap stuff against the users intent. With the shengians they’re pulling Ubuntu cannot be relied on, and with that they’re sabotaging their own success and drive away any commercial customers that generate revenue.
Lets hope so
It is sad to see
Well, things like the fact that snap is supposed to be a distro-agnostic packaging method despite being only truly supported on Ubuntu is annoying. The fact that its locked to the Canonical store is annoying. The fact that it requires a system daemon to function is annoying.
My main gripes with it stem from my job though, since at the university where I work snap has been an absolute travesty;
It overflows the mount table on multi-user systems.
It slows down startup a ridiculous amount even if barely any snaps are installed.
It can’t run user applications if your home drive is mounted over NFS with safe mount options.
It has no way to disable automatic updates during change critical times - like exams.There’s plenty more issues we’ve had with it, but those are the main ones that keep causing us issues.
Notably Flatpak doesn’t have any of the listed issues, and it also supports both shared installations as well as internal repos, where we can put licensed or bulky software for courses - something which snap can’t support due to the centralized store design.Flatpak also isn’t built on custom designs. It actually is portable and can even run on bare systems as long as there is glibc
When I last checked (and that is a long time ago!) it ran everywhere, but did only sandbox the application on ubuntu – while the website claimed cross distribution and secure.
That burned all the trust I had into snaps, I have not looked at them again. Flatpaks work great for me, there is no need to switch to a wannabe walled garden which may or may not work as advertised.
I hate snap, because their store is proprietary and i think forcing something with a proprietary store on you is microsoft level shit which is why i left in the first place.
Also i dont like being “forced”, theyre doing that a little with the apt install sometimes going to snap install
Imma be honest. I never used Snap. I had left ubuntu long before they started rolling it out.
That said, hearing they redirect apt calls to snap instead feels – A bit too microsofty for my tastes
Like, when you use a flatpak (or even a snap!) in a non-ubuntu distro, you’re not forced to use it. And if the same package exists on both the repo and on flatpak/snap, you CAN choose to get it from any of the three sources. Forcing people into snap is weird and scummy.
I have heard that snap is slower than flatpak, but also that it can do some stuff flatpak cannot, but again, didn’t test enough to know it.
That said, hearing they redirect apt calls to snap instead feels – A bit too microsofty for my tastes
I also haven’t been with an Ubuntu based distro for awhile, but I’ve got a lot of affection for Canonical generally. I even accepted the idea of the amazon-in the-dash-thing (which had a lot of folks sharpening pitchforks some years back) as being kind of an honest mistake - so excited that they could that they didn’t consider if they should, sort of.
But yeah, that’s exactly what it feels like with snaps, and for that specific reason.
Personally I think for home users or niche there should be a snap less variant of this distribution with all the bells and whistles.
There is : Linux Mint
Pop OS too.
For me it is partially the way canonical pushes snaps and forces it on to users. More so they are slow and the proprietary back end is a huge downside. Some snaps are know broken and cause more harm then good like the steam snap for example. Steam actively discourages users from even using it.
In addition to what’s already been said, Canonical have a history of starting grandiose projects and then abandoning them a few years later. See Mir, Unity, and Ubuntu Touch for examples.
They are like Google as they kill the popular or useful projects and keep the hated ones.
I think most people hate Snaps because Ubuntu is replacing .deb packages with snaps with no user prompt and that is a cardinal sin in Linux against the freedom and power of the user. Being “bloated” can’t help either when package maintainers do all what they can to ship programs light and simple. So it goes against at least two Linux principles.
I would hate snaps a lot less if Ubuntu just stopped trying to force me to use them.
If it was a cool optional thing they were experimenting with it might be different. The problem is that it was forced onto the desktop
Snaps are proprietary, flatpacks are not, is the long and short of it
They are not. But the store is proprietary and snapd doesnt allow other stores. You could patch snapd to allow other stores though and the format is open
Snaps are just as “open source” as “Office Open XML” (.docx, .pptx etc.) are open file formats.
If there isn’t a fully open source software stack, it isn’t really open source.
You can’t “just patch it” to make snap work with another store. Instead what you’ve done is invented an entirely different store, which you’re now going to have to maintain. It is never going to be upstreamed to Canonical. You are going to be in a perpetual tug-of-war with Canonical driving snap development towards their own needs and not your own.
Not proprietary though
It is SaaS (service as a software substitute) and vendor lock in
The store is SaaS (service as a software substitute) and not necessary proprietary
I especially hate how it ruins the
df -h
command. Install a dozen snaps and it becomes unreadableNot to mention the problem if one of the snaps becomes corrupt.
df -h .
you’re welcome
Calling it hate is an exaggeration , people are entitled to their opinion and informing other people by criticizing snap.
Another advantage not mentioned is that snap is a product of canonical (a for profit company talking about an IPO for years), flathub is managed by the gnome foundation (a US registered non profit, which should provide some legal protection).
I could care less about legal status. In fact, I think it would be cool to have a profitable software center that was able to allow for projects to get more funding.
paradoxically just because an organisation is a non profit does not mean it does not sell anything, it means that the people who “own” it are not doing it for a profit (e.g. voting members, board members , that is what is suppose to be legally guaranteed ), for example the wikimedia foundation (the creator of wikipedias ) sells access to data, MIT university for example is also a non profit.
and i feel like the profit incentive might cause problems for the snap store, flathub warns when an app is closed source so it might be risky to use it, snap does not do that and maybe that is because that could hurt profits.
True but I think the tax status shouldn’t affect Foss. Non profits can also screw over users.
When I install this snap am I getting a kernel driver, a native raw binary, or a containerized user application that conforms to a communication interface? Who knows! They’re all mostly undifferentiated in the store.
What about a third party store? Only if you fork the snap daemon and change the hard coded URL. And good luck with that mandatory Canonical contributer agreement you have to sign.
Want to pick when your apps update? Nope. That’s the official stance. They will never support that. But here’s a way to manually block network access to the daemon if you really really need to. But then everything will update at once when you give it access again.
Want a specific version of a snap? See above. Explicitly will never be an option.
“I guess there’s a fee to pay to get access to quality apps.” Incorrect. There is no real vetting process for what’s added to the store, there’s barely even minimal checking that you’re not overwriting someone else’s snap. You do have to sign the Canonical contributor agreement, and setup an identity to submit as, but even if your snap is proven to be malware there a good chance it will stay in the store, or can be immediately re-uploaded.
Not to mention snap is overly complicated for what it is. If it breaks good luck as you probably can’t fix it without starting over.