Kick-starting the revolution 1.0

Yesterday marked the day when we finally released Flatpak 1.0 (check out the release video!). I want to thank everyone who helped make this a reality, from writing code, to Flathub packaging, to just testing stuff and spreading the word. Large projects like this can’t be done by a single person, its all about the community.

With 1.0 out, I expect the rate of change in Flatpak itself to slow down. Going forward the focus will be more on the infrastructure around it. Things like getting 1.0 into all distributions, making portals work well, ensuring Flathub works smoothly and keeps growing, improving our test-suites and working on the runtimes.

Most of my blog posts are about technical details, but the reason for the existence of Flatpak is not technical. I created flatpak because the Linux application desktop ecosystem is fundamentally broken. As a app developer you have no sane way to distribute the result of your work to users.

Unless you have massive resources, the only realistic way is to wait for distributions to pick up your app. However, there are many problems with this. First of all, not all distros pick up all apps, and even if they do they often wait until the app is well known leading to a chicken-and-egg problem for new apps. And when they finally ship it you have no control of what version is shipped, or when it is updated.

This is a real problem! For instance, maybe some web service it uses changed API. Its a quick fix for your app, but it takes a long time before it propagates to distros. In fact many stable distros never ever update to new versions.

This model leads to a disconnect between the developer and the users. Users file bugs against older versions, about bugs that are already fixed, yet don’t get any fixes. Developers add new features that users can’t use, and get no feedback on them.

With Flatpak, the goal is for the upstream developer to have control of updates. If the developer fixes an important bug, a new stable version is released that users can immediately use. Any bugs filed will be against the latest stable version, so they are not stale, and once the bug report is closed the user will actually get the fix. That means reporting bugs is useful to the user. Similarly, any new feature development will get immediate feedback, and user feedback will be based on the current state of the app.

This kind of virtuous cycle helps improving both speed of development and software quality. My hope is that this in turn will increase the interest in writing native Linux applications and trigger a revolution, leading to the YEAR OF THE LINUX DESKTOP! (ahem)

14 thoughts on “Kick-starting the revolution 1.0”

  1. Year or Linux :-) , maybe but not before gtk, qt unification or at least shared core.

    Freedom of choice is naturally a Linux Power, but we gain with projects like Mesa, Flatpak, PulseAudio, GStreamer, WireGuard, PipeWire, DXVK etc.

    Especially if someone wants to switch and ask me for nice application, i can advise him about gnome apps because i use them, but if he ask me about Plasma or Xfce :-( (Not everybody want to search, they just want to use an OS)

    Sometimes i’m angry at Plasma team, because they not accept projects like Meson, Gnome CSD, but Gnome team it’s not better with pushing new concepts without agreement with others, it’s like i did this miracle just use it.

    I think Gnome and Plasma (and leading distros) should meet at least once a year to show new concepts, share they experience and think how to help users.

    Thanks for reading , have a nice day :-)

    1. Plasma with Meson ? “Hey guys, want to spend months switching to yet another build system, even if your works great for you and has integration in your tools ?” Meson was created in 2013, KDE switching to CMake 5 years before that.

      “I think Gnome and Plasma (and leading distros) should meet at least once a year”
      This happened twice, at the “Desktop Summit” in Berlin 2011 and in Gran Canaria 2009. I don’t know why it didn’t continue.

      And regarding CSD, as an user : no thank you. I like my coherent, expected behaviour.

      And back to the topic : great news for flatpak 1.0, let’s hope enough applications start using it.

      [WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

  2. Alexander,

    Flatpak is the greatest thing since years in the Linux world! I really enjoy flatpak on Fedora 28 using for example, GIMP 2.10.6.

    Many thanks for all the hard work to you and the community.

  3. Thanks for your hard work Alexander.
    I already have several apps installed on my system via flatpak,
    however almost all of them has problems with gtk3 file chooser
    like missing entries in the side bar and/or under “other locations”.
    Also flatpaks do not respect custom cursor themes yet.
    I hope that focus on making portals work well will fix these issues.
    Thanks again.

  4. So what is the situation with terminal apps? Could e.g. password-manager, mutt or maybe even apache httpd be Flatpaks? How obscure would the app launching be with that?

    1. Nothing prohibits flatpaks to run on the terminal, or even server stuff. It just will not take advantage of the desktop integration that flatpak offers, and it will have none of the server-features (logging, network magic, clustering, etc) that server tools like docker or kubernetes does.

      For some kinds of terminal apps it probably works pretty well. For instance long-running apps like mutt. You can even add /var/lib/flatpak/exports/bin/ to $PATH and start it as “org.mutt.Mutt” (or whatever) from your terminal. It will never be a good way to package cli commands like “awk” though.

  5. I’m in love with flatpak and agrees with everything above, but are there any “official” flatpaks on flathub at all? All the apps I click on seems to be owned by ā€¯flathub maintainers”. Snaps was in the same situation for some time where mostly everything was owned by “snapcrafters”, but it has gotten better. Are there any simple instructions anywhere for apps to take control of the flatpaks themself and are there any good pro arguements for projects to do so? I think it would be important to have more official flatpaks if we want to speed up the adoption of it.

  6. Flatpack is for sure a good thing, but it’s a pity that it’s linux only. I as a scientific application developer have no interest in a linux-only solution. Microsoft did a tremendous job with vcpkg, which is a mix between complete package isolation like flatpack and Gentoo’s use flags. And the best of all: the same vcpkg checkout just works on windows/osx/linux, on intel or ARM architecture. Never thought dependency management could be that easy and consistent

  7. Thanks a lot Alexander! flatpak is a huge progress :>.

    As for the next steps, working on the infrastructure is indeed needed. Here are 2 things that flatpak builds need at the moment:
    1. security support for runtimes (I recently saw a message about this while updating Epiphany browser)
    2. hardened builds of distributed software

  8. One feature I am looking for is OpenCL support if flatpak. Specifically for darktable, gimp – there are many opencl-supporting apps these days. Do you know if this there a technical showstopper for this? I noticed both fedora and debian/ubuntu handle opencl libs in the same standardized way so I have been hoping that support would come for some time now

    1. I have not explicitly looked at this, but in terms of the sandbox it should be supported. All we need is to figure out the driver situation in the runtimes.

  9. I just want to chime in here and say that I’ve recently been reading and learning a lot about Flatpak, and you’ve done an amazing job.

    I read through this entire blog, the comments posted on each article, looked at issues on the issue tracker, discussions on Reddit, etc. This technology is amazing, and I truly believe it to be the future of GNU/Linux. The distribution model is lovely, and most importantly the sandboxing.

    I especially love how you seem to really engage with the community, taking time out of your day to respond to regular people to answer questions. Thanks for your hard work.

  10. Hey! Thanks for the amazing work. I like flatpak very much! I have replaced Spotify, skype, Inkscape, GIMP, VLC, LibreOffice and all gnome applications.

    I hope to see more Big name applications in flatpak! Maybe someone could get DaVinci Resolve 15 to package in flatpak! That would be very nice because it is hard time to get it working on some distros.

Leave a Reply

Your email address will not be published. Required fields are marked *