
So I as a developer can release new a version to all my users without having to wait on anyone else.Įssentially, everything I hate about Linux package distribution is solved by Snap. See Installing snapd for a list of many distros that support it.Īdditionally, with Snap, the developer publishes and maintains the package, instead of the distribution maintainer. With Snap, a single package runs on every version of every distribution that supports snap. Moreover, then the distribution maintainers decide which version their users get instead of the software developer. A second possibility is to wait for distribution maintainers to add your package to the distribution but this usually takes an absurd amount of time. This means if I want to release a new version of my application, I have to create over 20 packages to cover the majority of Linux distributions, and that still won't cover every distro. RPM is more flexible in this regard but the locked dependency issue still gets in the way. I also need to make one for every Debian version, every Fedora version and every openSUSE version. I already have to make four packages just for Ubuntu. I also have to make a different package for 16.04, 18.04, 20.10 and so on. If I create a deb package for Ubuntu 20.04, it will only work on that version. It's also not practical at times due to version locking of dependencies. deb package that runs on all Debian based systems, but this is complicated and limits developers. With a lot of tweaking, it is possible to make one.


In Linux, packages are specifically built for a single version of a single distribution. Universal App Formats like Snaps aim to solve this fundamental problem. While I love Linux systems as a whole, I can't stand the current state of package distribution. I am a Linux enthusiast and a project manager of a Linux application.

Snaps and Debs work alongside each other. Snap is not intended to completely replace debs, however. Snap attempts to solve one of the fundamental problems with Linux as a desktop operating system: software availability and software distribution.
