6 reasons why flatpaks and snaps are perfect for Linux

Getting software on Linux has long been both simple and complicated. Many programs are just a mouse click or terminal command away. But if the apps available for your chosen version of Linux are outdated, getting the latest updates can often be a real pain.

With Flatpak and Snap, that has changed. Introducing more package formats into a cluttered landscape sounds complicated, but they’ve made everyday life on a Linux desktop much more manageable. Let’s see why.


1. You immediately get new apps and updates

The traditional way of distributing programs is to make so many applications and tools available to users in a giant software repository. This repository is often static. When a new version of your distro comes out, you get the latest version of the apps available at that time.

Earlier, when a new app or new app update released, you used to wait about six months to get the update with the latest version of your operating system, build the program yourself from source, add third-party software repositories at the risk of breaking your system, or replace your distribution with a streaming version more likely to crash.

With the Flatpak and Snap format, you can download new apps and updates as they become available, just like on non-Linux desktops. It’s that simple.

2. Developers can easily get their apps on Linux

The traditional model above meant that many Linux distributions had their own software repositories and used many different application formats. Developing software for Linux and creating the program was just the beginning.

You then had to decide which packaging formats to support, which software repositories to place your program in, and how to navigate the complicated process. Or you simply made the source code available and hoped that someone else would distribute your software for you.

Now, you still have to choose between Flatpak and Snap, but Flathub and Snap Store provide clear instructions for uploading and sharing your app compared to the traditional repository model. The same goes for AppCenter, an alternative application store centered on Flatpak. The distinction may seem minor to long-time veterans of traditional Linux, but for developers new to Linux, the difference is night and day.

3. Developers ship to all distros from one place

Not only is it easier to get an app from one of the new app stores, but it’s also easier to offer an app to the majority of Linux users.

Flatpak and Snap come with two separate app stores, which admittedly doesn’t seem like a solution to the problem. But each application store is available for the vast majority of Linux desktops. As long as a developer chooses to deliver their application as a Flatpak or Snap, they are effectively making their software available to all Linux desktops from one place.

This means that instead of a developer providing a DEB with official support only for Ubuntu or an RPM for Fedora, they can provide a Flatpak or Snap that will work largely the same on most versions of Linux. .

4. Increased security through sandboxing

Legacy Linux formats such as DEB and RPM usually have full access to your system upon installation and retain access to any file in your user directory. This means that you should really trust the apps you install, as well as their updates, because an app can easily compromise your system and data.

Flatpaks and Snaps seek to solve this problem by isolating apps from your system files and personal data. Ideally, applications can only access the parts of your computer that they need to function, such as a specific folder or your webcam.

Both formats are a work in progress. Some Flatpaks just come with access to your entire home folder by default. Most apps don’t ask for permission, but come with a set of default permissions, so unless you’re familiar with tools like Flat gasket, you don’t really know what parts of your system a Flatpak can access. Snap packages originally came with sandboxing on Ubuntu, but lacked sandboxing on many other distributions.

But work is underway to address these issues.

5. Keep your apps when upgrading your distro

Some apps work on one version of a distro but not on a newer version. This situation is not unique to Linux. Some apps don’t support the latest version of macOS or Android, leaving you in luck if the developer ever fails to provide an update.

With Flatpak and Snap, for the most part, it doesn’t matter which version of a distro you’re using. If an app works on your current version of a distro, it will continue to work when you upgrade your distro.

That’s a big part of why Elementary OS, for example, moved from DEB to Flatpak. Now, developers shipping apps through AppCenter no longer need to update their software to work with the latest version of Elementary OS. The apps will just keep running.

6. Use the latest apps on an older or LTS distro

Alternatively, you can download the latest version of apps even if you’re using a distro whose system libraries would typically be too outdated for newer software.

It has long been the downside of using the LTS version of Ubuntu released every two years instead of the intermediate releases that come in every six months. That’s also the downside of using Debian, which can sometimes go three years between releases, leaving you with versions of apps that developers abandoned a long time ago.

With Flatpak and Snap, if you prefer the stability and consistency of a slow distro, that choice shouldn’t come at the expense of new apps.

Will Flatpak and Snap replace DEBs and RPMs?

Flatpak and Snap get a lot of the attention and excitement on the Linux desktop these days, but they can’t entirely replace formats like DEBs and RPMs.

In the short term, some apps have features that work in a traditional format that don’t yet work in a sandbox. In the long run, the Flatpak format doesn’t work for system components, so it’s not possible to build a distribution entirely from Flatpaks. But it’s easy to imagine a future where, although there may be DEBs on your system, you may no longer have reason to install one manually.

Source link

Steven L. Nielsen