Alt account: @WFH@lemm.ee, used to interact in places where federation is still spotty on .world.

  • 4 Posts
  • 7 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle


  • From a technical point of view:

    • Appimages are like MacOS .app programs. You download a random executable from a random website, that contains everything it needs to run. It’s the antithesis of the Linux way. Great for portability, awful for everything else. There are no automatic updates unless the developer explicitly bothers to implement them.
    • Snaps are like docker containers. Each snap also contains everything it needs to run, but at least there is a centralized update system.
    • Flatpaks are like another package manager layered over your OS. It manages its own dependency system isolated from your main dependency management. It updates its stuff pretty much like apt/dnf/pacman.
    • Native are managed through your distro’s package manager, obviously.

    From a feature/version point of view:

    • If you have a bleeding edge or quickly moving distro, native packages are fine if you want/need up to date software. Arch users shouldn’t need Flatpaks for example. The downside is that those packages are made by the distro’s maintainers so can be anywhere from untested pre-release software (happened in Manjaro) to extremely outdated (like in Debian oldstable).
    • Flatpaks/Snaps/Appimages are more and more maintained and packaged by their developers. It’s great for them as you only need to package once, all bug reports are on versions you control, and you don’t need to depend on a distro’s maintainer time and will to push updates to users. For stable distros users, this is theoretically the best of both worlds: a stable, tested OS with up to date user facing applications.

    From a philosophical point of view:

    • Appimages and Flatpaks are fully FOSS. Flathub is the dominant ways of distributing Flatpaks but anyone can create a competitor.
    • Snaps are distributed through Canonical’s Snap Store, which is not FOSS and is vulnerable to Canonical’s corporate meddling.

    My personal preference:

    • Flatpaks for GUI apps, native for CLI tools
    • Appimages as a last resort if it’s the only way to get a specific app.
    • Snaps never.