The package formats Flatpaks and Snaps

Slashdot it! Delicious Share on Facebook Tweet! Digg!
Ivan Mateev,

Ivan Mateev,

Sweet Wrappers

These package systems have names that make them sound like they could be crunchy candy bars, but in fact, they are formats that could revolutionize software installation.

An old adage says there is nothing new under the sun, and to a certain extent, this could be true when applied to the subject matter of the this article. Formats for packaging software are as old as software itself. The formats commonly in use today include DEB from Debian and RPM from Red Hat. These two formats have divvied up much of the Linux world between themselves.

When these formats are used, individual package components like binaries, libraries, configuration, and documentation are distributed across the entire directory structure during installation. The distribution is carried out according to the Filesystem Hierarchy Standard (FHS) [1], and some of the placements are not always desirable. This is because the structure was based on needs for limited resources that existed in the early years of Unix development [2].

Figure 1: The Flatpak installation in Fedora also drags in OSTree.

Nothing New

For a long time now, it has been clear due to operating systems like GoboLinux, NixOS, and NeXTSTEP that this structure doesn't need to stay this way. The approach behind these operating systems is to package an application with its dependencies and manage everything together. The new formats function according to the same principle, and they reveal advantages and disadvantages when put to practical use.

Dissatisfied Developers

One definite disadvantage to the diversity among currently used formats is that they require significant work on behalf of developers and the software maintainers when the software needs to be packaged and maintained for multiple distributions and the various current branches.

During a question and answer session that took place at a Debian conference in 2014 [3], Linus Torvalds explained why a piece of software he had programmed for his scuba diving hobby exists as a package for Windows and MacOS X, but not for Linux. It is because none of the large distributions were able to package the components satisfactorily.

He even considers this to be one of the reasons why Linux has not found success on the desktop. At about the same time that Torvalds was conducting his question and answer session, the systemd mastermind Lennart Poettering was offering his thoughts on the question of how we will be building distributions and installing software in the future. Some of what he had to say was already starting to sound like concepts presently utilized in Flatpak and Snappy [4].

Figure 2: The run time of Gnome 3.20 is required to install LibreOffice 5.2 Beta.

Buy this article as PDF

Express-Checkout as PDF

Pages: 7

Price $0.99
(incl. VAT)

Buy Ubuntu User

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content