Why Snap and Flatpak make Linux a better OS and how they're different
For a long time, Linux received a bad rap for not just being difficult to use, but for not having the software necessary to be productive. Those concerns were reasonable during the early days of Linux (I started using the operating system in 1997). Not only was Linux complicated to get up and running, but installing software generally required a nightmare mix of dependency installations and manually compiling software.
On top of that, a lot of the software I depended on was unavailable. However, this situation was long before the web browser became the primary tool for productivity and entertainment.
Also: The best Linux laptops
Today, Linux is easy to use and offers hundreds of thousands of applications that can be installed using package managers. For example, Ubuntu has apt, which makes installing software from the command line as easy as:
sudo apt install firefox -y
RHEL-based distributions have dnf, which is equally as simple:
sudo dnf install firefox -y
With these package managers, the software is installed from repositories and sometimes you’ll find installing one piece of software requires you to install another tool first. Now, package managers like apt are very good at picking up and installing dependencies for you. And on the off-chance that fails, you can always go back and issue the command:
The above command will fix any missing dependencies. It’s quite handy and something I have to depend on regularly.
Also: How to install Linux applications from the command line
That’s where Flatpak and Snap come into play. These universal package managers are distribution agnostic, meaning you can use them on just about any Linux distribution. They also make installing software as easy (if not easier) than using the built-in package manager.
What makes Snap and Flatpak packages so special?
One of the reasons why Snap and Flatpak were developed was to remove the dependency issues found with traditional package managers. Snap and Flatpak packages contain all the software necessary to install the package in question, including dependencies.
So, when you go to install a certain piece of software via either Snap or Flatpak, you don’t have to worry about installing dependencies because the Snap or Flatpak package has taken care of that issue for you.
Also: How to simplify Flatpak app installation on the KDE Plasma desktop
Ease of use isn’t the only appeal to Snap and Flatpak. The other plus point, which can be a sticky issue with open-source purists, is that you gain access to plenty of proprietary software.
For example, you can’t simply install Zoom or Spotify using apt or dnf (not without first locating and adding repositories and even that route might cause problems). With Snap and Flatpak, a whole other world of software is opened to the Linux user.
For example, I can open a terminal window and install Zoom with:
sudo snap install zoom-client
I can also visit the Snapcraft store or Flathub and find software I might not otherwise have access to.
So, Snap and Flatpak make installing software much easier on Linux and open the floodgates to software that would otherwise be challenging or impossible to install on Linux. Some distributions roll Snap or Flatpak support into the GUI app store. For example, I can search for Zoom in the Pop!_OS Pop Shop and find an entry.
The differences between Snap and Flatpak
As far as differences are concerned, let’s have a look:
Snap |
Flatpak |
Created/maintained by Canonical. |
Created by Red Hat. |
Tailed for desktops and/or servers. |
Tailored for desktops. |
Slower startup times. |
Faster startup times. |
Some apps perform better as Snap packages and some as Flatpaks |
Some apps perform better as Flatpaks and some as Snaps. |
Snaps are preferred by Ubuntu and Ubuntu-based distributions. |
Flatpaks are preferred by Fedora and Fedora-based distributions. |
Can be installed on many Linux distributions. |
Can be installed on most Linux distributions. |
The core of Snap is open source but the backend is proprietary. |
Flatpak is entirely open source. |
Snap is limited to Canonical’s Snap Store. |
Flatpak is decentralized. |
Snap packages are updated automatically. |
Flatpak packages have to be updated manually. |
Taking off my rose-colored glasses
As you navigate the waters of Linux, you’ll find it’s not all plain sailing for Snap and Flatpak. Within the Linux community, there’s been debate about the best option and why these tools aren’t necessarily good for Linux.
Also: The best Linux distros for beginners
However, I’m all for anything that makes Linux easier for the average user, and Snap and Flatpak do just that. So, from my perspective, both Snap and Flatpak have done a world of good for the open-source operating system and end-users in general.
Because of that success, I highly recommend new Linux users don’t bother listening to the bickering on either side of the fence. Although both camps have valid reasons for why their package format is best, both approaches offer significant benefits to Linux and those who use it.