What are the differences between snaps, appimage, flatpak and others?

Here is a long tabular comparison of AppImage vs. Snap vs. Flatpak features. It is from the AppImage Wiki on GitHub:

  • https://github.com/AppImage/AppImageKit/wiki/Similar-projects#comparison

Note that this comparison is mainly from the perspective of AppImage, although it tries to represent each project fairly.

AppImage vs. Snap vs. Flatpack Comparison


Snaps were created by Canonical for Ubuntu. The main advantages of snaps are:

  • Independence on dependencies - all libraries and dependencies are included in the package. This also allows to have more versions of the same program.
  • Sandboxing - snaps are using modified AppArmor to sandbox the applications
  • Delta updates - snaps should also allow delta updates

The main drawback of snaps is that software can only use libraries included in its package. This is a potential security risk as the author of the package needs to keep all libraries patched and updated.

Snaps can currently run in Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS, and Gentoo. They are also used in Ubuntu Touch. They are designed for desktops, servers, phones, IoT, and routers.

Flatpak has the same advantages as snaps. However, it uses Namespaces instead of AppArmour for sandboxing. The main difference is that Flatpaks can both use libraries included in the package and shared libraries from another Flatpak.

The developer of Flatpak is the Red Hat employee Alexander Larsson. Flatpak software is currently available in Arch Linux, Debian, Fedora, Mageia, Solus and Ubuntu. It is focused on desktops only.

AppImages are developed by Simon Peter. As in snaps or Flatpak, the package includes all libraries necessary to run the program. AppImage programs are not sandboxed and they don't require root rights to run. According to website of the project, AppImages should run on Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux and Ubuntu.


I have found an interesting performance (CPU+Memory) comparison for these packaging systems.

VLC

VLC

LibreOffice enter image description here

Gimp

enter image description here

Source: https://verummeum.com/portable-package-formats/