Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Snaps? Proprietary package managers are never great.


As I understand it, snap the package format is not proprietary. Its as open source as say flatpak. What is proprietary is Canonical official snap store, and they patch their version of snap to only use that store. It'd be the same as flatpak being tied to only flathub.

Of course that goes against the spirit of FOSS, but there's a bit more nuance there than simply saying "snaps are proprietary".


Snaps don't just suck from an ideological but also practical perspective, as described for Thunderbird. Firefox on Ubuntu has also serious permission issues with webcam support OOTB even experts are struggling with (involving AppArmor, pipewire, snap, and FF device config). and has become unusable for things like browser-only MS Teams on mainstream notebooks.

Containers, popular as they may be on servers, can only add breakage and overhead to desktops, especially for an established and already much better organized system like Debian's apt. There just haven't been any new desktop apps for way over a decade that would warrant yet another level of indirection.


In addition, applications under snap are much slower to start. That's just not acceptable.


I've tried making snap packages, but I discovered they're very tightly tied to Ubuntu's base packages. They're not portable at all. In essence they're effectively just a secondary Ubuntu-specific package format for user-level applications.

For example, with flatpak you select a base runtime for your package that contains mostly system-agnostic libraries. With snap, you specify an Ubuntu version as a base runtime and additional dependencies that are Ubuntu packages.


My understanding is that the base layer (similar to what FlatPak provides) is shared and downloaded by the snap manager so it is portable as long as you want to download it.

The end result should be similar to FlatPak where you have practically no dependencies as it should package almost everything.


See, that's the issue. I want my distribution to distribute the dependencies I need to run applications outside of containers. That's, like, it's main job man.


Did they release the server components for hosting your own snap repositories, yet?

I can't seem to find it. Any pointers would be helpful, so at least I can know the latest state of this thing.


Snapd still hardcodes Canonical's snap store signing key and provides no mechanism to add your own keys. Any other snap repos will be treated as second class citizens.


No, but it's trivial to implement since Snap is open source so you know exactly what sort of payload it wants.


> If I try to manipulate what you are talking about, I can attempt to frame something as open source which isn't.

I didn't say "the snap format".

The server isn't, and the client is hostile to using an alternative server. Snaps are a solution, and picking out one piece is deceptive.


I don't really understand why this is such a big problem. You don't have to use snaps.


Defaults matter a lot, and snaps are the default in Ubuntu.

The topic is not whether snaps are avoidable or not, but the Ubuntu is going downhill. And snaps are purported to be part of that downhill, which would be Ubuntu's NIH syndrome. As far as I know, Ubuntu's only successful development is Ubuntu itself - the other projects have all failed over the years, and snap, while ongoing, is not winning any popularity contests either.


Snaps per se are no better or worse than flatpak. Canonical's mistake, IMO, was to make their store the only place snaps can be hosted. That is the "proprietary" bit everyone keeps talking about.

But in practice even for flatpak the only realistic place you can publish your flatpak if you want any traction at all would be flathub, so both formats have only one store right now. But flatpak allows a custom store while for some strange reason Canonical decided not to allow snap that freedom.


Another problem is, Canonical promised to release server components and enable alternative stores, and just forgot that they made that pledge.

Also, rugpulling users and migrating things to snaps without asking their users in order to "create a positive pressure on snap team to keep their quality high" didn't sit well with the users.

> But in practice even for flatpak the only realistic place you can publish your flatpak if you want any traction at all would be flathub

But, for any size of fleet from homelab to an enterprise client farm, I can host my local flathub and install my personal special-purpose flatpaks without paying anyone and thinking whether my packages will be there next morning.

Freedom matters, esp. it that's the norm in that ecosystem.

I was neutral-ish about Ubuntu, but I flat out avoid them now, and migrate any remaining Ubuntu server to Debian in shortest way possible.

I'm using Debian for the last 20 years or so, BTW.


Yes, same. I started with Ubuntu back in the day, because the server I inherited ran Ubuntu, and it was just natural after that for me to run it on the desktop as well. I grew to dislike their NIH over the years, tried distro hopping, and settled on Debian.


Yes, I agree. Snaps or Flatpak, not much of a practical, technological difference. What sets them apart is the way the distribution is handled, including the open source availability of the backend, which enabled for example Red Hat and Elementary to run their own stores.


If you are making your own distro, creating your own flatpak store is trivial, that's all what matters. Linux Mint doesn't use snap exactly because Canonical forces everyone to use their snap store.


Canonical doesn't force anyone to use anything. Snap is open source, just modify it to use a different store if you want. Mint literally forked a zombie DE, but changing a few lines of code in snap is an issue...


Defaults matter a lot, snap is not open source (client is, backend isn't), you cannot "just modify it (Ubuntu)" to use a different store, because Ubuntu installs snaps even with apt. Mint is not part of the discussion.


> Mint is not part of the discussion.

Read the parent comment I responded to


Mea culpa, I glossed over that!



> which would be Ubuntu's NIH syndrome

Red Hat do the same. They reinvented the wheel on multiple occasions (systemd and it's whole ecosystem like systemd-resolved and timed and the whole kitchen sink; podman, buildah, dnf, etc etc.)

They just have more success on getting their NIH babies accepted as the standard by everyone else. Canonical just fail at that (often for good reasons, Unity was downright crap for some time) and abandon stuff, which doesn't help their future causes.


Canonical did their own NIH init daemon called Upstart which failed due to the fundamental design and the implementation being plain bad. Redhat builds better software which is why their NIH gets more adoption.


ChromeOS still uses upstart.


Upstart came before systemd; much of the reason for systemd’s creation was fixing what was considered fundamental design mistakes in Upstart: <http://0pointer.net/blog/projects/systemd#:~:text=On%20Upsta...> (under the heading “On Upstart”).


> systemd

https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530

> like systemd-resolved and timed

They're not forced on anybody, they're not required by systemd, and many distributions use more feature-rich alternatives (including, afaik, RHEL — last time I looked at it, they used dnsmasq and chrony). They're also often shipped as separate optional packages:

  $ apt search 'systemd-timesyncd|systemd-resolved'

  systemd-resolved/testing,now 257.7-1 amd64
  systemd-timesyncd/testing 257.7-1 amd64
> podman, buildah

Still not anywhere near as popular as Docker. Although technically they're far better than Docker, and if anyone is using them, it's for that reason.

> dnf

Only used by RHEL and its upstream Fedora?

---

All of this makes very little sense.


>> podman, buildah

> Still not anywhere near as popular as Docker. Although technically they're far better than Docker, and if anyone is using them, it's for that reason.

NIH packages are generally expected to be less popular, yes. They have some technical merit, though in my opinion that's mostly trade-offs rather than one being strictly better than the other. I would be surprised if everybody using them is using them because of technical merit as opposed to it being pushed by the distro.


Red Hat builds really good stuff. NIH is sometimes right because nobody invented the stuff at all. Standard Unix tools are great but they don't solve everything, so we've ended up with most distros having "the Debian way" or "the Red Hat way", the main difference of course being deb/apt/dpkg vs rpm/yum/dnf. When building an embedded system with Yocto, the basic choices are also Debian or Red Hat style, though you can of course do anything.

Special mention goes to NetworkManager, which has become the de facto standard way to configure networking because it's good. And with nmcli I can even remember how to connect to wifi from single user mode.


>They just have more success on getting their NIH babies accepted as the standard by everyone else.

This depends on the phrasing. We could also say that Red Hat produces actually useful software, in contrast with Canonical, whose developments don't seem to provide value over existing solutions.

We could also say that Canonical tries really hard to do exactly what Red Hat does, but in a slightly different space, and not very successfully.


A major difference is that Canonical projects have copyright assignment policies, while Red Hat projects don't - this probably explains a lot of the difference in adoption dynamics.


You're right. You don't have to use snaps. Ubuntu migrates packages slowly in behalf of you.

Using apt to install some packages installs snap plumbing and downloads the package as a snap automatically. You don't have to install it manually.

There's no malicious intent though, it's made to "impose a positive pressure on the snap team to produce better work and keep their quality high" (paraphrased, but this was the official answer).


Installing the inferior snap packages when you apt get is one of the worst cases of a Linux distro refusing to respect the user's intent that I've experienced.


Preach.

This has got to be the most user-blind self-imposed preference in a modern operating system outside of Microsoft's BS.

If you're going to use an OSS operating system, the control of what is placed on the system should be inherently with the user. If the developer has a question if a new package should be added or is required, throw a prompt and ask -- with a default to not use application containers and the default packaging system.

Really not hard.


And one of these migrations broke my workflow substantially enough that a dist-upgrade turned into a complete system reformat to Debian and cost hours that I couldn’t afford.

Debian has been a safe haven since.


You really have to work to avoid them; ex. `apt install firefox` will install the snap


You sort of do. It's really hard to avoid them, because they've modified "apt" to install snaps by default without asking.


I'm with my neighbor comments. How do you use Ubuntu without snaps? The base Ubuntu install already comes with several snaps. Installing random things through apt leads to snaps. I personally do not know how to avoid snaps on Ubuntu.


I made this snap "alternative" to solve this exact problem: https://github.com/justinclift

Packaged as: https://github.com/justinclift/snapd-empty/releases/download...

It's just an empty package that tells the system snap is installed, to stop the broken dependency chains you otherwise get from force uninstalling snap.

It's been working fine on a handful of Ubuntu 24.04 systems I've been handed and can't change the OS of, for about half a year now.


Ugh, I somehow managed to paste an incorrect repo url in my comment above.

It should be this: https://github.com/justinclift/snapd-empty/


You migrate to Debian. Everything else is a bandaid that can be rug pulled any time Canonical feels like doing so.


I've done that some years ago and couldn't be happier.


You uninstall all snaps, uninstall snapd, and block it from being installed via APT.

Then you add e.g. the mozilla PPA such that its firefox package gets installed instead.


Yes you do. Some packages aren't available anymore in apt


If you use Ubuntu, yes you do. It’s why I ditched Ubuntu




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: