Appimages totally suck, because many developers think they were a real packaging format and support them exclusively.
Their use case is tiny, and in 99% of cases Flatpak is just better.
I could not find a single post or article about all the problems they have, so I wrote this.
This is not about shaming open source contributors. But Appimages are obviously broken, pretty badly maintained, while organizations/companies like Balena, Nextcloud etc. don’t seem to get that.
When I was first getting into Linux, Flatpak wasn’t a thing quite yet. I ended up installing software in all of the following ways:
A .run file. Simplify3D (commercial 3D printer slicer) did this, it was kind of a literal word for word translation of the Windows .exe installer system. Please don’t do this. See also install.sh. Just don’t do this.
A .tar.gz file full of the executable and its assets with no further elaboration. This happened a few times but I really remember FTL: Faster Than Light did this when I bought the game directly from them rather than on Steam, and they were nice enough to link it to a Steam key for me. This’ll work if you’re handing out a thing you made to a couple other people, don’t distribute like this please.
Clone my git repo. I’m going to type this slowly so that it will best be understood: Git is for people who are contributing to code, not for people who just want to run it. Do not ask end users to compile from source.
Ubuntu PPAs. This one seems to have died; it’s been a couple years since I’ve seen anyone suggest adding a PPA. Good, they somewhat sucked.
Pip. There are way too many end-user applications that are distributed with Python’s package manager. No. Bad.
Alien. For a brief time the driver for my printer was only distributed as a .rpm, I was on a .deb based system. There’s a thing called Alien that lets you do that.
Loose .debs. Haven’t encountered this one in awhile either, but…could be worse.
-Snap. No. Just. No.
Compared to almost all of these I’d prefer an AppImage. For example, go look at the process of getting an up to date copy of Chirp, the amateur radio programming software. The instructions are kind of “build it yourself,” they are flawed and borderline incorrect, and include no uninstall instructions. I would vastly prefer they just package the damn thing as an AppImage.
Compared to AppImage, I almost always prefer a Flatpak. Flathub is built into my distro’s GUI app center and is almost transparent to the user. Using Flatpaks with the terminal is complete rectal pus, but for most end users who prefer to do things graphically Flatpak works pretty well most of the time. It is not completely seamless, like Flatpak seems to suffer from all the drawbacks of sandboxing with none of the benefits.
If you are distributing to a wide audience, use Flatpak or publish to the various standard repos. If you’re a little niche thing that might distribute 200 or 300 copies ever, AppImage is probably simpler. Otherwise just…keep your repo private.
Thanks, yes fully agree. There are a ton if shitty distribution ways.
When I publish stuff on Github (its never big, always small tools) I never let people git clone, just download the needed parts.
Releases are meant for that, but still, putting software on repos may be annoying but its the correct way to do.