Closed orowith2os closed 1 year ago
That approach is like running another OS (with supposedly stable APIs and ABIs) on the real OS, futher removing pressure on Linux distribution vendors to align on anything in order to create a sane platform. Worse, that "other OS" can be a different version for different applications, adding a lot of required space if you want to keep many AppImages, including old versions. Most crucially, it would break the ease of use that comes from the principle that AppImages must not depend on anything that is not there on most mainstream distributions by default. To illustrate this point: If I want to archive an application today, all I need to keep is the AppImage file plus one Live ISO of a Linux distribution that can run it. With the suggested approach, how could I even be sure that the required runtimes are still available 10 years down the road?
So, this approach would degrade AppImage user experience by introducing many of the same downsides that Flatpak has.
If you really want to be independent from the OS, the way to go is to bundle everything inside the AppImage, down to (and including) glibc.
Some Flatpak integration would be useful to AppImage since Flatpak is cross-distro (bundling glibc and some more common libraries that a host system might not contain), provides a stable ABI in it's runtime, and has sandboxing (it also sets XDG base directory variables, so apps don't clutter the home folder). Both AppImage and Flatpak are commonly used by projects, so some Flatpak integration in AppImage would help in distribution, since packagers then have an idea of what the application would need of the package.
Features that Flatpak integration would provide are as follows:
This would mean that some projects, like QT helpers for AppImage, may become obsolete as they could just use the org.kde.Platform. It would also help address some use cases Flatpak doesn't support, such as portable and runnable application binaries.
Closes #152, #171, #225, #452, #839, #992. Possibly #116 as most every Linux distribution that's not Ubuntu supports Flatpak.