Debatable.
- Snaps.
- Replacing something battle-tested with something written in Rust, MIT licensed, with 140 CVEs and other bugs (uutils).
- Pulling rugs and replacing debs with snapswithout telling it, because "it creates positive pressur e on the snap team and drives the quality higher".
- Staggered rollout of some updates, so update is there but you can't update because the your system didn't feel like updating yet.
- Promising to open source Snap store to allow alternative stores and forgetting what they had said.
- Bullying Debian to push their changes to Debian to offload software maintenance (they wanted to make netplan the default in Debian, for example).
... etc, etc.Note: You can disagree with this, and we can discuss this with cool heads, if you prefer.
As a person who uses Linux for both technical and ideological reasons, the freedoms are equally important for me as well as the technical merits.
A system behaving the way I can't control and I can't replace is a no-no for me. Can I opt out of Snaps? No. Is there a well defined set of Snaps? No, they are spreading inside my system. So, can I replace the Snap repository I use? No, Canonical dictates and controls that side of the deal.
So, can I install a self-contained toolchain without Snaps? Yes. There are multiple ways. Also, can I use .deb and related machinery without Snaps? It eliminates Ubuntu, but that's possible. Can I self-host my repositories for any of the non-Snap technology, controlling it end to end? Again, yes.
So, any non-snap technology which can provide what Snap claims to do is way more usable for me, and more compatible with my computing requirements, technical and non-technical equally.
I'm currently abandoning some SaaS I use and moving to self-hosting, and if I decide to have my own .deb packages in my own system, I can do that. Same for containers and flatpak as well.
I don't get upset with the technology, but how it's forced upon me.
Hope that helps.
I get the repo thing, kind of. I mean i don't understand it being a showstopper but i do think it's valid criticism. The rest, though, is just distro maintainers doing what they do: making design decisions. Like i said elsewhere, i just can't understand caring about how the maintainers choose to package the packages they maintain, it doesn't affect me. It's not being "forced" on me any more than their choices to use AppArmor or systemd or whatever other base system components.
Edit: the reason i kind of like snaps, other than being easy to make, is that unlike flatpak, they can bundle CLI apps. What alternative is there for a portable, contained CLI package on Linux? You just use docker for everything?
Yes, however apt/dnf/emerge/etc. are main package managers of the systems. They don't slowly overtake packages you use or the repositories of other distributions do not quietly offload package installations to other package managers (e.g.: apt install firefox triggers snap installation in Ubuntu. This is malicious behavior). Brew, flatpak, etc. live alongside your default package manager peacefully.
> systemd without changing distros.
I'm not a fan of systemd, and let's leave it there. We're talking about package managers.
> Like every distro "forces" its design decisions on you.
True in a sense, but none of the distributions have forced their semi-closed source metastasizing package manager on me mid-flight ever, except Ubuntu.
As I said in my previous comment, snap has two problems: closed backend, metastasizing silently, pulling the rug silently under me. Both are not problems of Snap, but how it's pushed on users.
> I get the repo thing, kind of. I mean i don't understand it being a showstopper but i do think it's valid criticism.
Simply put, I have principles. It's important for me to able to host a piece of infrastructure end to end if it comes to that. Snap doesn't allow me that, hence it's Canonical bound. This is not acceptable for me, period.
Before you ask, yes I can compile a Linux distribution end-to-end if it comes to that. I used to build a Debian derivative distribution.
> The rest, though, is just distro maintainers doing what they do: making design decisions.
In this case, Canonical the corporation is building a closed, revenue generating system for themselves. This is not an "engineering process for the sake of better Linux package management". Companies can pay Canonical to have storefronts on Snap store. It's a commercial product, like Ubuntu Landscape. Make no mistakes there.
> I just can't understand caring about how the maintainers choose to package the packages they maintain
Not everyone are emotionless about how and where they put their packages. Communities and how users and developers are treated matter a lot. Packaging a software is not a mere engineering decision, but deciding to interface with a community and communicate with these people.
> It's not being "forced" on me any more than their choices to use AppArmor or systemd or whatever other base system components.
Don't forget your apt package might become a snap tomorrow, without your knowledge with an apt upgrade. I mean, snap is not forced in any way. It just eats package you have. If it doesn't bother you, more power to you.
> other than being easy to make
You can build a binary, lintian-clean .deb package in 5 minutes flat. Been there, done that.
> that unlike flatpak, they can bundle CLI apps.
I beg your pardon: https://flathub.org/en/apps/io.neovim.nvim
> What alternative is there for a portable, contained CLI package on Linux? You just use docker for everything?
Besides Flatpak, you can use Brew and AppImage at least. If you need something fully contained but not Docker, you can use Podman or Apptainer. It runs as a user, compatible with Docker if you need, is free, fast and lightweight. We use rootless containers on our systems where more than a couple of hundred users login at the same time. Nobody leaks anything to other users, and they are very lightweight.
See, this is just crazy thinking to me, sorry. It's in no way malicious. The system package manager is managing system packages, some of which happen to be Snaps. That is not malicious.
> Don't forget your apt package might become a snap tomorrow, without your knowledge with an apt upgrade. I mean, snap is not forced in any way. It just eats package you have. If it doesn't bother you, more power to you.
Right: it doesn't, and it won't, because i simply do not have any reason to care what binary format my distro maintainers use for their system packages. All i care is that the system packages are reliable and up to date. Nothing is operationally different between the two for me as a user, so it means nothing. This would still bother you even if the Snap backend were open source and self-hostable?
And no, deb packaging is a lot more complex than Snap packaging, i have lots of experience with both.
That neovim flatpak is genuinely the first I've ever seen for a CLI app. If it's possible then i wonder why there's so few of them. Flatpaks for language toolchains would be quite nice (since i currently like using Snap for those). Podman/apptainer are not actual replacements imo, they're a different class of tool. You don't get automatic updates, you have to manage bind mounts and such.
Without any hard feelings, I'll agree to disagree here. It's apparent that our perspectives are very different, and that OK.
> And no, deb packaging is a lot more complex than Snap packaging, i have lots of experience with both.
I didn't package Snaps, but I was churning close to 10 .deb packages a day. I'll not ever agree that .deb is a complex package format. It can become sophisticated, but not complex or hard. At least for me.
> If it's possible then i wonder why there's so few of them.
I have no idea. I may play with it too, someday. However, it's apparent that there's no barrier for it.
> Podman/apptainer are not actual replacements imo, they're a different class of tool. You don't get automatic updates, you have to manage bind mounts and such.
While automatic part is true, but can be done with a simple cron. To manage the mounts, etc., I write a simple wrapper and put it in /usr/local/bin or ~/.local/bin depending on who's going to use that, and it works.
Don't get me wrong, I like frequent updates, but it does seem like a major flaw with snap that it doesn't update as easily as apt-based packages.
There are ways to suppress the notifications (e.g. set a specific update check time) but I'd rather just have updates applied as soon as they're available. It's awkward that there's now two separate software updating mechanisms.
Interestingly, if you ignore the notifications, the app will forcibly close after 2 weeks to apply the update which could conceivably result in loss of work/data though I doubt that people get caught out by it very often.
No it doesn't. My issue is that it doesn't update in the background if the app is open, so you have to close the app, let it update (maybe 5 seconds or so) and then re-open the app.
And as a software maintainer who publish to all distributions, I wholeheartedly agree.
They are moving with self-interest, not with a collective interest. Considering what Ubuntu means, that's bitterly ironic as well.
Shame.
I'm glad they are moving with self-interest, and that self-interest is Ubuntu and its users. For example, systemd the launcher and netplan are net good for Linux.
If you're managing a fleet, netplan works for simple network configurations, and it doesn't work with Desktop systems at all.
For anything complicated, NetworkManager is much more capable and not more complicated than NetPlan to work with.
systemd is a different can of worms. I'll not open it here, today.
NetPlan works great for all network configurations.
1. the update process is separate from the main system update -- "close this program to update, or will forceably update in X days" notifications;
2. breaking desktop file links where an update can create a duplicate file and after the old snap is removed it removes your pins to the taskbar;
3. possibly breaking other things due to the way the snap directory for the app is not stable.
Even when you do an apt install chromium , it does a snap install .. the worst part is snaps don't even work well everywhere.. (add to that the complexity of x11 vs wayland vs vnc)..
Netplan is great, Debian should go with that, though without the bullying.
Otherwise, I'm not sure how Ubuntu isn't still good.
Netplan is already present in Debian you can install if you want to use that.
You can't remove snaps from Ubuntu, because you lose half of the Ubuntu software that matters when you remove it.
However, if you fancy Snaps, you can add it to Debian, as well.
> Otherwise, I'm not sure how Ubuntu isn't still good.
Any system doing things behind the administrator of that system is not good, that's the point. Ubuntu is now its ecosystem. You either buy into it completely, or don't. This is why many people doesn't like Ubuntu in professional settings.
If you buy into Ubuntu and don't care about Linux at large, it's a bearable product up to a certain point.
I can and have removed snaps from Ubuntu and had no issues with losing software I needed.
Ubuntu is not doing things behind the admin of that product, so not sure of that complain. I buy into Ubuntu because I care about Linux at large. Its more than bearable, its great.
Ubuntu is ubiquitous, so it's popular and therefore you'll have a better experience with software support
[X fashionable distro] is fashionable, so it's popular and therefore you'll have a better experience with software support