Flatpak – Standalone Apps for Linux
flatpak.org
flatpak.org
The benefit is that it integrates with the rest of the system and thus shares software updates, storage space, and gets overall features such as isolated builds and transactional upgrades and rollback.
Not all of the libraries you use are embedded. Only the ones you need that aren't part of the platform you're targeting are.
For example, if you're building an app on the GNOME 3.28 platform, it would presumably include (for example) an SSL library like OpenSSL. Now, whenever the platform is updated (3.28.x), all of the apps that target that platform (presumably all of them) will get the updated OpenSSL for free.
And if an application really needs a specific version of OpenSSL, then at least you know it's sandboxed, which is much more than you'd get on almost any desktop Linux distro today.
From the website:
"Dependencies that aren't in a runtime can be bundled as part of the app. This makes it possible to use dependencies that aren't in a distribution, and to use a different version of a dependency than the one that's in a distribution."
Also, is there support for applications without any runtime?
If, above this, you need more dependencies, in the flatpak model you need to bundle them yourself. Such bundling can be done however you want. For instance you can reuse existing packages from some distro, you can build the yourselves, or whatever.
Technically you have to specify a runtime, or things will not run. But if you want you can create your own runtime that is empty and use that. This means you have to supply everything though, as you won't even have an ld.so.
The app itself would include any libraries/prerequisites outside of whatever flatpak defines as a "runtime library".
At least, that's my reading of how Flatpak works. I could be wrong on some of those points.
Interesting - I wonder how it compares with Click packages.
If you're implying that Canonical shouldn't be blamed for creating Click as an NIH solution because they released it first, I'd disagree. xdg-app has been a thing for way longer than click.
xdg-app was open, the architecture were documented, and Canonical probably could have worked with it if they cared to. Same with Wayland and Mir.
[1] https://github.com/alexlarsson/xdg-app/commits/master?page=3...
[2] https://lists.ubuntu.com/archives/ubuntu-devel/2013-May/0370...
I was conflating snappy and click. I've updated my original post.
Where can I find who wrote Click in the first place? The only reference to wikipedia seems to be about klik, not Click: https://en.wikipedia.org/wiki/AppImage_%28packaging_method%2...
This inclines me towards AppImage, as the whole point is to have the easiest experience for the user.
https://www.reddit.com/r/linux/comments/4l20yt/ive_been_play...
And it would be up to downstream to handle AppImage files with it for sandboxing, or not.
If Flatpak's main selling point is security, then it would be better served as as a sandboxing tool for AppImage rather than falling for NIH syndroming as is unfortunately too common in Red Hat's world.
Observe flatpak becoming part of Fedora shortly, and then Poettering style "nudging" implemented to get Debian and the rest to adopt it.
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813308
As in yes, i see nothing that prevents you from applying existing sandboxing techniques around Appimage distributed software.