Flatpak does a lot of things. Oftentimes people ask me “Why Flatpak?” and I only end up remembering a few off-hand, so I figured it’s time to sit down, reflect, and go over “Why Flatpak” in a nice forum thread once and for all.
Package once, identical version is installed on 20+ distros
Build server runs offline for predictable builds*
Encourages upstream to follow xdg standards (i.e. so your config files/cache files are in predictable places)
A rational straightforward manifest to define the application, rather than a cobbled-together collection of random files and circularly-linked documentation.
The aim of the well-mannered people running it is to do everything in their power to help you get your Flatpak published. Unlike other packaging systems where the aim is to keep the plebs out of their “old boys club”.
Honestly I find the documentation for the manifest one of the worst parts about Flatpak.
The documentation linked on github.com/flathub/flathub should be the differences between what Flathub wants and what Flatpaks need (in those terms, not “app submission” and “app requirements”), and then the manifest documentation itself should be a skeleton example with links to learn more about each part. Right now that requirements page is non-chronological with no example, and lists optional & uncommon features with the same emphasis as required ones. To top it off, it’s hosted on Github pages so contributors can’t submit any patches to improve it. docs.flatpak.org isn’t a solution either, since it is an absurd amount of information to go through for someone trying to package their first binary app, and doesn’t actually address many of Flathub’s own needs.
The result of this is over 50% of the app submissions include egregious mistakes, and while I commend the patience of hflguiere to go through them, handling this at the documentation level would save both the submitters and maintainers extra stress.
If it weren’t for that buildbot, I think hflguiere would be bald.
Creating our own docs that coexist with the flatpak docs is on my (personal) roadmap.
GitHub - razzeee/flatpak-docs-docusaurus is currently only a slimmed down version of the flatpak docs and an added blog. But I hope to start working on docs that are more flathub focused. I’ve also talked with barth about this, but the website relaunch has a higher prio right now.
I do have some thoughts about a new possible outline for docs, but haven’t written them down.