Debian 11 has been released recently, but one of the admittedly few reasons I am excited for it is that testing/ unstable will be unfrozen soon. I have already lost my main Debian install due to dependency hell resulting from an impulsive jump to sid+experimental in need for newer packages. (Testing had been frozen since January.) I wish I switched to Flatpaks instead.
Linus Torvalds, the creator of the Linux kernel, once said in a Debconf that all the individual distros had done terribly when it came to package management. Which was true: each major distro has a different package manager, format, package names, versions etc. This prompted him to release his own Subsurface diving log application only in source form for Linux. He even specifically mentioned Debian’s policy of maintaining very outdated versions of packages in the stable release.
Well, it seems that most distros have solved this issue by ignoring it and hoping it goes away, except Red Hat developing Flatpak and shipping it with Fedora (but without Flathub for some reason), and Canonical developing snap/ snapd/ snappy for Ubuntu, probably because Flatpak is not invented here. (Oh, by the way, the majority of work on GNOME, systemd, pulseaudio etc. was done by Red Hat, whereas Canonical was making Unity).
In case you are unaware, Flatpak is a technology for running the same applications on all Linux distros, with all the dependencies also packaged in Flatpak so that the application will work just the same on all versions of all distros – with sandboxing! It is wonderful. Why is this not the standard on all distros? The distros currently shipping it out of the box are Fedora (without Flathub?), Linux Mint, Endless, Elementary (without Flathub, again) and Pop!_OS. There’s some big names in there, but all the multitude of Ubuntu and its derivatives are missing in the action, opting for the frankly inferior snap instead. (Why inferior? It doesn’t support adding our own repositories, and it is closed source on the server side. Also, I didn’t do any scientific testing or benchmarking for this, but from personal experience, they are way slower. Your mileage may vary.)
Linux on the desktop is already riddled with multiple companies – SUSE, Canonical, Red Hat etc. all competing for glory, and not agreeing over anything. (Well, that is a lie. Otherwise we wouldn’t have systemd everywhere, which would be bad, and we wouldn’t have pulsaudio everywhere either, which would have been awesome. But I digress.)
Such fragmentation will only hurt the desktop, as this turns away both new users and companies thinking of releasing their software for Linux.
AppImages can run on all distos, so they are actually not bad, but they can’t be automatically updated, or opened from a menu or used as a default application without fumbling about with .desktop files or menu editors. (AppImageLauncher may help with this though, but it isn’t in any distro’s repos.)
Flatpaks are useful even on humongous distros like Debian, which hosts a large but fairly outdated collection of packages (especially during and after freezes), and they are a necessity on smaller distros. Why do so many distros insist on repeating the same work done by others over and over again, packaging the same versions of the same packages with the same patches?