Post-modern Linux packaging: additional reading
This document compiles 2018 coverage around post-modern packaging technologies for Linux, including packaging formats like Snaps and Flatpaks, systems like Nix and Guix and full distros such as Atomic or Clear Linux.
This curation and commentary are current as of 18 June 2018. The curation was prepared by José Miguel Parrella (@bureado) as part of his session at Open Source Summit Japan: Package Management and Distribution in a Cloud World.
We compile these resources in an effort to provide individual developers and organizations with current coverage on the state-of-the-art and motivations of the current post-modern packaging landscape with the intention to increase readiness in experimenting with, evaluating and potentially adopting said technologies.
There are some themes that appear in coverage around post-modern packaging, and, particularly, in community commentary around them.
For example, there's extensive discussion on the future of mainstream distros, the many challenges with the current centralized repo model, generally negative sentiment around the departure from Linux mainstays such as FHS, Sys-V init, LSB or XDG and other elements which we cover here.
- Linux distros and Python 2: a discussion on the role distributions have in the lifecycle of open source projects
- Futures of distributions
- Long-term distribution support
- Packaging is hard, packager-friendly is harder
- Friction, packaging complex applications
- Has Linux lost its way
- How to make package managers cry (video from FOSDEM)
- The future of distros
- Security of software, distribution models
- Aboriginal, Alpine and Debian
- Toward a fully reproducible Debian
- Containers vs. operating systems
- Discussion on Unix philosophy
Packaging formats and systems
rpm have become pervasive in the APT and RPM systems, other package formats have existed in Linux for over a decade. Some defunct like Autopackage or Listaller, others reinvented like AppImage (née klik, then Portable Linux Apps) and Zero Install.
- Snaps, Flatpak and AppImage a good summary of these three options for 2018
Many post-modern package formats are becoming optimized for distributing an application with its entire dependencies, potentially running in some form of isolation. As a result, packages have less provisions for metadata or maintainer scripts.
Package formats weren't portable in the past and aren't very portable today. For example, snaps and flatpak have high affinity to their package manager (e.g.,
snapd) and to a reference distro such as Ubuntu or Fedora. There's been some public discourse around distro portability, but no defined standard or experience bar.
- Adoption of flatpak vs. snap (2018): a recurring tracker of the availability of said systems across established Linux distributions
- Installing snaps in different distros
- Flatpak and your distribution
In virtually all mainstream distros and most use cases, post-modern package formats and systems are co-existing with mainstream APT or RPM. As a result, cross-system tools such as GNOME Software (PackageKit) continue to support an expansive list of backends.
There seems to be a surge of applications in each system. For example, many proprietary software vendors that ship a tightly controlled graphical application (Skype, Slack, etc.) have been shipping snaps lately. Conversely, complex projects such as GNOME have been closely working with Flatpaks who have also been serving an interesting use case of Wine applications.
Snaps & flatpaks
- Flatpak in detail
- New Flathub design
- Flatpak and OCI
- How to install and use Flatpak on Linux
- Using flatpaks with Python
- GIMP flatpak and snap side by side
- A beginner's guide to flatpak
- How Fedora secures package delivery
- Bug against snap re. creation of $HOME/snap
- Snaps vs. Windows
- May 2018 Malware Issues with Snaps
- DistroWatch's where to find portable packages
- New snaps with Nvidia support plus other comments
- New Flatpak Linux Sandboxing
- Introducing the new Snapcraft branding
- Why Peek is dropping Snap support
- Coverage on OMGUbuntu
- Firefox is now available as a Snap
- Why is it a pain to install apps without root?
- CircleCI and Snapcraft
- Ubuntu post
- Install Flathub apps on Fedora
- Backing up Flatpak user-data and apps
- OMGUbuntu - Snaps coming to Ubuntu 18.04
- Reddit discussion
- More OMGubuntu
- Snapcraft through the eyes of biggest contributor
- Skype discusses easing Linux maintenance with Snaps
- Building Snaps for the Linux community
- Slack and snaps
- More about Slack
- Snapcraft gets better AppStream integration
- Deb packages are not getting upstream to Debian
- Installing Snaps without systemd
- Orbital Apps
- Flatpak and XDG
- Flatpak and OSTree
- Flatpak in KDE
- Brackets packaged as a Flatpak
- New Flatpak Linux App Sandboxing Release Makes Installations and Updates Faster
Distros and applications beyond package managers
- nix-shell a specific application of nix (not NixOS)
- Using guix to build relocatable tarballs
- Stackage to Nix
- SUSE on containerization and updates
- Dev v Ops, a recap from Richard Brown's GUADEC session
- why autopackage?
- Manifest podcat: The Update Framework
- CoreOS Overview - Deis blog
- Docker vs. fat binaries
- Void Linux and XBPS
- How to build container images with buildah
- Formally specifying a package manager
- Mender: a software updater for the IoT
- Guix presentation at FOSDEM
- pkgsrc, 18K packages, 23 platforms
- Team Silverblue (a.k.a., Atomic Workstation)
- Nitrux (Ubuntu plus AppImage)
- EndlessOS (allegedly Flatpak-based?)
- Guix: features
- Clear Linux - Software Updates
Throughout this document, we've linked to industry coverage, commentary and formal sources as well as, sometimes, Reddit/forum discussions. As much as possible, we tried to perform sentiment analysis across all the Reddit discussions. Here's a list of Reddit threads where the comments were arguably more lively than the actual information.
- About snap's proprietary bits plus AppImage
- What's the latest in package management
- Why proprietary app developers like snap so much
- Discussion about language package managers on Twitter
- Would an entirely Flatpak-based distro be viable?
- Thunderbird announcement goes into should I use Flathub
- What distro do you think can have more impact in desktop