Live data from Hacker News

Linux apps that run anywhere

appimage.org

21–30 of 117 posts

Re: Linux apps that run anywhere

#21
post #6
post #3

Anybody has strong feelings about AppImage vs Snap vs Flatpack (and any other similar ones)?

I like the concept of AppImage much more than Snap and Flatpak. I fully embrace the idea of decentralized distribution of applications, as opposed to the way package managers work (central repository mantained by the distro) I believe the operating system should only be concerned about the base software and present a sane interface so that the user can then install the specific programs they need, the OS should not c…

flatpak's decentralized - there's for example the firefox wayland repo https://firefox-flatpak.mojefedora.cz/

Re: Linux apps that run anywhere

#22
Video introduction to AppImage (linked on the AppImage website): https://www.youtube.com/watch?v=mVVP77jC8Fc

Also, a side point -- is it wrong to want people to spend more energy on building fat binaries? To me they are the ultimate in portability (by definition), and investing in projects like musl libc and distributions like alpine, languages like go and rust that build portable static binaries is so much more accessible to me as a developer.

All the approaches to portable apps seem to just be hacking around the problem but I wonder if we should instead be pouring energy into making fully static binaries easier to build, then trying to optimize them to get them smaller.

Re: Linux apps that run anywhere

#23
It makes me really sad that this is necessary. Unix has a concept of shared libraries. And somehow it managed to get ruined so irrevocably that there's no going back. This—this was a solved problem! It really was. It was solved, and then we unsolved it when we decided that 'move fast and break things' was more important than ABI stability. And now shared libraries are completely useless. I struggle to name a single useful c library that's useful as a system-wide shared library nowadays. Libc/m doesn't really count because it's part of the language, and libz is small enough that everyone who needs it statically links it. Everything else is neither ubiquitous nor stable enough to be used. HOW DID THIS HAPPEN?

Re: Linux apps that run anywhere

#25
post #14

Earlier quoted context omitted.

How is this different from windows? I think this is good for dependency heavy apps, such as krita, but you should still try to keep things as centralized as possible, makes updates easier and painless

it's not fundamentally different. The practical difference is that the ecosystem of Linux applications is composed almost entirely of open source software. Consequently, installing something you downloaded from the web is much less dangerous than installing a closed source program on Window, provided that you trust the website. I agree that the centralized scheme is easier to use in the 80% of cases. i.e. when: (1) T…

Unless somebody else built the app from source and reproduced exactly the same binaries there is no guarantee that the binaries you download were actually built from the source you're looking at. Open source per se doesn't magically imply any benefits wrt security. Things look differently if the binaries were built on a central & trusted platform or by trusted packers.

Re: Linux apps that run anywhere

#27
post #3

Anybody has strong feelings about AppImage vs Snap vs Flatpack (and any other similar ones)?

I'll bite. I ship the Mailspring email app on Linux and I prefer Snaps as an application developer. The big win is that the snap system provides automatic updates for packaged apps. You publish the build on Snapcraft and 24 hours later everyone on all linux distros has it. I cannot understate how incredible that is as a developer. I used to burn a lot of time investigating issues that users reported on Linux only to find that they were running a version a year old because each update required them to visit the site, download the dpkg/rpm, and install it. I know I could set up an apt-server and whatever else to vend updates to the major linux distros, but we also ship on Mac and Windows and that's a lot of overhead.

The downside is that Snap-packaged apps don't always integrate correctly with the underlying system. For a while theme support was pretty broken. And subtle configuration options aren't always passed in. Worth it in my case though!

Re: Linux apps that run anywhere

#28
post #17

"No need to install". This is every system administrator's nightmare: users running arbitrary executables bypassing operating system packaging. Come time to upgrade or reinstall what can happen? If there are security updates which are needed to the program, what could happen, since this is statically linked? This is the pinnacle of destructive lazyness and amateurism in IT: as a developer it is one's job to master ev…

Any savy UNIX admin will be able to prevent new executables to run under user accounts.

Re: Linux apps that run anywhere

#29

Video introduction to AppImage (linked on the AppImage website): https://www.youtube.com/watch?v=mVVP77jC8Fc Also, a side point -- is it wrong to want people to spend more energy on building fat binaries? To me they are the ultimate in portability (by definition), and investing in projects like musl libc and distributions like alpine, languages like go and rust that build portable static binaries is so much more acce…

What if another heartbleed happens? Wouldn't it be better to update a single shared library?

Re: Linux apps that run anywhere

#30

FYI, AppImages do not run anywhere. There are a lot of issues with them in NixOS, since NixOS is all about having explicitly-linked dependencies, and AppImages still often have implicit dependencies that aren't in the image itself, since they are assumed to exist on the host system. See https://github.com/NixOS/nixpkgs/pull/51060 for an example.

It also requires FUSE to work, which may not be available.
Post reply on HN