LWN: Comments on "Flatpak 1.0 released" https://lwn.net/Articles/762991/ This is a special feed containing comments posted to the individual LWN article titled "Flatpak 1.0 released". en-us Mon, 20 Oct 2025 00:03:35 +0000 Mon, 20 Oct 2025 00:03:35 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Application isolation https://lwn.net/Articles/763458/ https://lwn.net/Articles/763458/ chipaca <div class="FormattedComment"> Snap packages are the evolution of click packages, which were what the Ubuntu Phone used. FWIW.<br> </div> Sat, 25 Aug 2018 03:19:28 +0000 Application isolation https://lwn.net/Articles/763457/ https://lwn.net/Articles/763457/ chipaca <div class="FormattedComment"> Funny how memory works.<br> <p> The way I remember it, Canonical's work around isolated apps was out and in use years before flatpak was a thing.<br> We called it 'click' then, and used it on the Ubuntu Phone. This work predates even xdg-app by two or three years.<br> Then we built a 2.0 of that, and called it snap, and released _that_ in the 15.04 timeframe.<br> Even that was before flatpak.<br> <p> </div> Sat, 25 Aug 2018 03:16:38 +0000 Application isolation https://lwn.net/Articles/763359/ https://lwn.net/Articles/763359/ flussence <div class="FormattedComment"> I'll add that 0install existed in 2005, so arguing which of these was first is a moot point. They're both NIH controlled by warring factions.<br> </div> Thu, 23 Aug 2018 23:20:48 +0000 Application isolation https://lwn.net/Articles/763358/ https://lwn.net/Articles/763358/ flussence <div class="FormattedComment"> Ironically, one of the things I've heard Flatpak is used for is running Windows games (usually pirated) with a bundled Wine.<br> </div> Thu, 23 Aug 2018 23:02:48 +0000 Application isolation https://lwn.net/Articles/763243/ https://lwn.net/Articles/763243/ liw Let's not rely on memories. The memory subsystem of human brains is even less reliable than floppies. <p>Wikipedia reports Snappy as being first release in December, 2014, which means it will have been in development for some time before that. (<a href="https://en.wikipedia.org/wiki/Snappy_(package_manager)">link</a>) <p><a href="https://github.com/flatpak/flatpak/wiki/Flatpak's-History">Flapak's history page</a> reports its origins as starting with Glick in 2007, with iterative evolution to what we now know as Flatpak via Glick2 and xdg-app. <p>Overall, it seems to me that Flatpak and Snappy have developed in parallel, learning from each other, in the way free software often does. There doesn't seem to be a clear answer to which one came first. I don't think it matters, either. Thu, 23 Aug 2018 09:52:40 +0000 Application isolation https://lwn.net/Articles/763242/ https://lwn.net/Articles/763242/ mgedmin <div class="FormattedComment"> I remember it the other way around:<br> <p> - Snap was first, but only worked on Ubuntu<br> - xdg-app (old name of Flatpak) was announced as a cross-distro solution<br> - Canonical rushed ports of Snap to other distros, dropping the sandboxing in the name of expediency<br> <p> I wasn't paying attention so I cannot comment on the current state of Snap on non-Ubuntu distros.<br> </div> Thu, 23 Aug 2018 09:31:23 +0000 Application isolation https://lwn.net/Articles/763194/ https://lwn.net/Articles/763194/ astian <div class="FormattedComment"> Thanks for the summary.<br> </div> Wed, 22 Aug 2018 19:57:46 +0000 Application isolation - PA https://lwn.net/Articles/763184/ https://lwn.net/Articles/763184/ zlynx <div class="FormattedComment"> How exactly would that help? If the kernel audio interfaces allowed recording you'd be in the same fix because the kernel ABI cannot be changed.<br> <p> In the past before ALSA with OSS audio there were horrible library hacks to intercept open(), read(), write(), ioctl() calls to audio devices so that kernel behavior could be modified. There are *reasons* why things are now in userspace.<br> </div> Wed, 22 Aug 2018 17:41:49 +0000 Application isolation - PA https://lwn.net/Articles/763169/ https://lwn.net/Articles/763169/ kloczek <div class="FormattedComment"> So many years people have been telling to stop doing those nasty things with alsa/pulseaudio in user space and move all to kernel space .. no one listens.<br> </div> Wed, 22 Aug 2018 14:02:23 +0000 Application isolation - PA https://lwn.net/Articles/763139/ https://lwn.net/Articles/763139/ darwish <div class="FormattedComment"> <font class="QuotedText">&gt; for example, access to PulseAudio is currently a binary yes/no choice per app, and there's no way to say "this app can play sounds, but can't use PulseAudio's shared-memory transport, and can't record".</font><br> <p> This was initially going to be solved by adding Access Control support to PulseAudio, along with lots of PA code re-design to guarantee real isolation:<br> <p> <a href="https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/AccessControl/">https://www.freedesktop.org/wiki/Software/PulseAudio/Docu...</a><br> <br> <a href="https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-December/029181.html">https://lists.freedesktop.org/archives/pulseaudio-discuss...</a><br> <p> AFAIK Fedora merged these Access Control patches on their own, but as seen above they are definitely not enough. The tide now is go with PipeWire since it's careful to solve this problem correctly from the start.<br> </div> Wed, 22 Aug 2018 10:05:51 +0000 Application isolation https://lwn.net/Articles/763128/ https://lwn.net/Articles/763128/ smcv <div class="FormattedComment"> The sandbox itself is as good as any other unprivileged container based on namespaces: the sandboxed app has access to the kernel's (significant) attack surface, but with strict permissions it can't do much to interact with the rest of the system. On some kernel configurations (notably Debian and RHEL), bubblewrap normally needs to be setuid; on others (notably Fedora and Ubuntu), it can be unprivileged. (The difference is because by default Debian and RHEL kernels don't let unprivileged users create their own user namespaces, whereas Fedora and Ubuntu kernels do.)<br> <p> The fine print is that to let an app do useful things (draw a window, play sounds, contact network services, load and save per-user preferences, etc.) it needs to have some permissions (gaps in the sandbox boundary), and at the moment many of those permissions are more coarse-grained than you might hope: for example, access to PulseAudio is currently a binary yes/no choice per app, and there's no way to say "this app can play sounds, but can't use PulseAudio's shared-memory transport, and can't record". This should get better with continued development, partly in Flatpak itself and partly in other projects adjacent to it.<br> </div> Tue, 21 Aug 2018 22:43:49 +0000 Trolling https://lwn.net/Articles/763123/ https://lwn.net/Articles/763123/ renox <div class="FormattedComment"> Please refrain to put such low quality comment on LWN, reread the guidelines: "Please try to be polite, respectful, and informative".<br> <p> </div> Tue, 21 Aug 2018 21:04:52 +0000 Application isolation https://lwn.net/Articles/763116/ https://lwn.net/Articles/763116/ atai <div class="FormattedComment"> the scope of your interests is very narrow<br> </div> Tue, 21 Aug 2018 17:29:22 +0000 Application isolation https://lwn.net/Articles/763112/ https://lwn.net/Articles/763112/ drag <div class="FormattedComment"> I think your memory isn't very good. Seems your recollection of events is little more then a series of strawmen and half remembered assumptions. <br> <p> Regardless getting applications sandboxed is just the first step to finally achieving some level of security on the desktop. Going against the nearly 50 year long trend of 'all your applications run with the same rights as you' is a extremely tough task and requires changing and improving a lot of moving parts. Being able to control application access to your system through namespaces and file system images is just one part of the puzzle. (Getting rid of X is another. Layering LSM/Selinux/Apparmor over that is another, etc etc)<br> <p> Plus Linux desktops desperately needs a universal package management system for applications. Having each and ever Linux distribution package the entire planet of software independently for each of their releases/branches is something that scales extremely poorly and leaves huge number of gaps. The internet has created a extremely long tail of software that just will never, ever, be supported by any distribution repositories yet application developers still want to write them and users will still want to use them. And it has absolutely nothing to do with 'doing it windows style'. <br> <p> You can see this as evidenced by the fact that no Linux distribution ever really was able to make it easy to develop and redistribute video games, games engines, games related software/libraries/dependencies. There was huge number of attempts and distributions tried to package as much open source software as possible, but whatever they packaged became obsolete or old in short order. Users are loath to use a version of a game from 6 months ago if everybody else is playing the latest versions on public servers. As it stands right now if you want to install open source games or games built using open source software with proprietary content... the best way to do it is via Steam. Being at the mercy of a major proprietary corporation whose Linux support is effectively little more then a experiment at trying to manipulate Microsoft into behaving better isn't a good place to be.<br> <p> Hopefully stuff like Flatpak can help reverse this trend.<br> </div> Tue, 21 Aug 2018 16:11:42 +0000 Application isolation https://lwn.net/Articles/763105/ https://lwn.net/Articles/763105/ tux3 <div class="FormattedComment"> My understanding is that they've been using Bubblewrap as a sandbox (<a href="https://github.com/projectatomic/bubblewrap">https://github.com/projectatomic/bubblewrap</a>), which is a sort of homemade lightweight user namespaces implemented with a setuid helper.<br> <p> As far as I can tell, as of today their sandbox seems perfectly functional, but if there's some fine print hidden somewhere I'd love to take a look at it!<br> <p> Here's their wiki that I've only quickly glossed over: <a href="https://github.com/flatpak/flatpak/wiki/Sandbox">https://github.com/flatpak/flatpak/wiki/Sandbox</a><br> </div> Tue, 21 Aug 2018 14:48:19 +0000 Application isolation https://lwn.net/Articles/763077/ https://lwn.net/Articles/763077/ astian <div class="FormattedComment"> I remember during the early hype days of Flatpack and containers, the former was hailed as a secure(r) mechanism for 'running arbitrary blobs off the Internet' (windows style), because each Flatpack-packaged application was supposed to run confined into a container which was largely isolated from the rest of the system. Later when Canonical released (or announced, can't remember) Snappy, the people behind Flatpack rushed to a sort of 'preliminary' release. In order to make the deadline, several features had to be scrapped^Wpostponed, one of them being isolation, the only one I was really interested in.<br> <p> I wonder if/how the situation has changed.<br> </div> Tue, 21 Aug 2018 12:09:05 +0000