The future of Flatpak

46 points by runxiyu


lproven

Wildly contentious opinion:

I prefer Canonical’s snap over GNOME’s Flatpak.

Snap

Snap is simple: download an archive, loop-mount it, symlink its contents into place. Versioning? Keep the old one, too. Rollback? Mount the older one again.

Works with GUI apps, shell apps, anything. With a bit of work, works for a whole desktop, or the kernel, anything.

Common FUD: it’s not FOSS. Truth: snap is 100% FOSS but the Canonical Snap Store is not. But all the tools to run your own snap store are included and it’s documented.

A real snag: clutters your df and blkid etc. output with loop filesystems. Minor pain.

Needs systemd. But that could be worked around if someone wanted.

Simple; you can remove snapd and your snap apps can still be mounted and run.

Speed: it used to be slow, but it’s been around for over a decade and it’s quick now.

Flatpak

Flatpak uses OStree for distribution: that’s Git for binaries. It’s complicated. Git is complicated.

Flatpak only directly supports GUI apps; CLI apps need acrobatics.

It can’t be used for system components.

It, and OStree, does acrobatics with virtual filesystems and namespaces in order to work. Apps can’t be installed, run, or updated without that framework. Good luck with manual maintenance if something breaks.

If you want to package the OS like this, you need 2 tools: OStree and Flatpak.

The pair of them.

They’re both disk space hogs. They’re both inefficient. They both struggle with dependencies. They both support deduplication via complex hacks. They both have problems with sandboxing. They both have Wild West app stores and problems with trojan apps in them. They both have unofficial packages that look legit but aren’t.