Linux desktop apps take a cue from Docker packages

Flatpak delivers Linux desktop apps across distributions with a single download, but it also relies on Red Hat's controversial systemd

Linux desktop apps take a cue from Docker packages
2Mmedia / Getty Images

Flatpak, sponsored by the Freedesktop project and engineered mainly by Alex Larsson at Red Hat, is a single application package containing everything needed to run an app across multiple distributions. But it also comes with partial dependency on a Red Hat technology that's inspired no small amount of ire.

Container technology has led to a major rethinking of how to deploy and manage services. But Docker and its cohorts don't yet address the problems of distributing and managing end-user or desktop applications on different editions of Linux. If you want to distribute an end-user Linux app, you have to build separate editions for each distribution and deploy it via that distribution's own packaging mechanism.

All in one

Flatpak -- so named for furniture giant IKEA's product-packaging method -- is not a containerization system, but it draws on containers for some of its ideas. A Flatpak-delivered app runs in a "sandbox" (the developers deliberately avoided the word "container"), which is split into two parts. The application part contains the app itself, its data, and any libraries that are the same on every distribution. The runtime part contains only the dependencies that would be needed by different distributions.

So far, only a handful of desktop Linux applications have signed on to create Flatpaks of their apps, but they're all big names. LibreOffice, for instance, now offers a Flatpak distribution, as do the GIMP image-editing application, the Inkscape vector-drawing program, Darktable (a photo workflow system), and a slew of apps for the Gnome desktop.

What are the downsides? For one, you have to install Flatpak's runtime on any system where Flatpak-packaged apps will be run. Also, Flatpak's sandboxing system inhibits certain behaviors that some apps need.

The notes that accompany LibreOffice's Flatpak version state, "Flatpak-based apps are not yet able to reach out to other applications installed on the machine (like browsers) to e.g. open URLs through them. That means that e.g. clicking on a hyperlink in a LibreOffice Writer document might not work yet." This apparently breaks the help system for LibreOffice, since it opens URLs.

Warning: Roadblocks ahead

Another potential issue is Flatpak's partial dependency on systemd, the system-initialization process created by Red Hat. Flatpak uses systemd to help set up its sandboxing technology, but systemd's mere existence has inspired no end of contention and polarization in the Linux world.

As a result, Flatpak will likely remain confined to distributions that already use systemd. Most of the big enterprise distributions -- Red Hat, Ubuntu, and OpenSuse -- already employ it, but they aren't really used as desktop systems. (Red Hat's Fedora, with a desktop incarnation, is considered separate from its mainline RHEL offering.)

The smaller, more user-friendly distributions have largely resisted systemd. But they also serve the user base that benefits most from Flatpak. Some of those distributions, such as Linux Mint, already allow systemd as an option, so in time the technical side of the issue may become moot, but if Flatpak doesn't gain ground because of systemd in the first place or due to its other quirks, it'll be doubly moot.

Copyright © 2016 IDG Communications, Inc.