Robin Gierse
Inline Skater

Rant

Linux Distributors favoring Flatpak and Snap over native Packages

5 min read

I am not sure who started this trend, but I am very sure, how I feel about it: Not great!

I have seen both Ubuntu and Fedora do it and maybe other distributions behave similar, but these are the two I know about first hand. The trend I am talking about is favoring Snap or Flatpak packages over RPM or DEB packages.

Let me take a step back for context here.

Both of the above-mentioned distributions feature an alternative method of packaging software, called Snap and Flatpak, respectively. Historically Linux is famous for its powerful shared library approach, where software itself can be pretty small, as it relies on the shared libraries and other dependencies, that the Linux package management would handle. And while that is a great thing to this day for plenty of reasons, it also means that software developers had to think about packaging their software for different platforms, e.g. RPM-based or DEB-based distributions multiplied by the number of distributions and versions.

In short: It is some work to ship binaries for all the relevant platforms, especially for small teams or single people, who are just starting their software project.

Enter Snap and Flatpak: Both work in a way, that all dependencies are packaged with the software itself. Which means a single artifact will be able to run on all distributions, that support Snap or Flatpak, respectively. And this solves the problem outlined above pretty elegantly. Up until this point this is all fine and well with me. I am using some Snaps and Flatpaks myself, because there are no other installation methods for some applications available.

But why - for the love of Cthulhu - are they trying to force their users to use Snaps and Flatpaks even though RPM or DEB packages are available for the very same software?!

Canonical did this infamously by providing an "update" to their Firefox DEB-package, which switched users to the Snap-package without their consent, introducing plenty of problems and limitations even to the point of data loss. And while Fedora to this day does not force their users with similarly nefarious methods, they still list Flatpaks first, when users are looking at a software in the GNOME Software Center. Of course, one could argue, that there is a list, the user can choose from, and it is by far not nudging the user to use the Flatpak, but in fact it is. A lot of users will not recognize it as a list and even if they do, they still might think, the Flatpak would be the recommended choice. I just stepped into this trap, when installing a small helper tool and I ended up with two gigabytes of data on my disk for a tool, that should be a few kilobytes in size. What happened? Well I just did not pay attention to the list of installation choices and installed the Flatpak version, which pulled in a bunch of so-called runtimes. As an RPM package the tool is a mere few kilobytes in size, so the deal would be pretty bad.

To conclude: I do not understand, where this trend of nudging users to use Snaps and Flatpaks over RPMs and DEBs is coming from, but I certainly do not like it. While the technology is sound and there are use-cases, in my opinion RPMs and DEBs should always be preferred over Snaps and Flatpaks.