There are hundreds of Linux distributions to choose from, and while there are some similarities (they all use some version of the Linux kernel and most support a variety of popular desktop environments such as GNOME, KDE, and Xfce), there are also some differences — like the way you install applications.
Traditional Debian-based applications like Ubuntu have relied on apt. Fedora used yum. And so on. For the most part you can find popular programs like Firefox, LibreOffice and GIMP on each platform. But developers have to build their software for each platform. And then when you install the application you might also have to install a bunch of other programs or “dependencies” to go along with it.
In recent years we’ve seen a few efforts to make things simpler by offering developers a build-once-distribute-everywhere option while also giving users a single file that contains everything they need to run an app.
That’s not to say that this is the first stable version of Flatpak. It’s been pretty usable for a while. But in the official announcement, the team behind Flatpak says it’s “feature complete,” which basically means that while development hasn’t stopped, Flatpak 1.0 has some new features for developer sand users, including:
- Developers can mark versions of their app as “end of life,” so that users know they won’t be supported anymore.
- There’s a new system that allows apps to restart.
- There are some new command line options.
Flathub is also coming out of beta today. It’s basically an app store/web site/repository for software that’s packaged in the Flatpak format.
In addition to allowing developers to bundle dependencies with an app and distribute a single file that can be installed on multiple Linux distros, the Flatpak system means that applications run in a sandboxed environment, which theoretically offers greater security by keeping programs isolated from the rest of your operating system. You need to grant explicit permission for an app to access files or use hardware that’s outside the sandbox.
Applications will also receive updates as they’re pushed out by developers. You don’t need to wait for it to show up in a repository.
The down side is that Flatpak (and Snap) packages use more disk space and memory than applications compiled specifically for the operating system you’re using, and they may look out of place since they might not match your system theme.
It’s unlikely that Flatpack or Snaps are going to replace traditional GNU/Linux package management systems anytime soon. But it’s nice to see that they are shaping up to be more robust alternatives with Canonical continuing to invest in Snaps and the Flatpak team continuing to refine their system.