At this year’s GUADEC we plan to have great workshops. One of them will be Packaging your application using Flatpak by David King and Alexander Larsson. Alex was kind enough to answer a few questions for us.
Alex, since when are you thinking of Flatpak, formerly known as xdg-app?
The first commit to xdg-app was in December 2014, however I have been interested in the areas of app bundling and sandboxing for much longer.
My first work in this area was an experiment called “Glick” which was announced in 2007, and after that I’ve released two other experiments in the same area, but with different approaches (called “Glick 2” and “bundler“). I’ve also done a lot of work in the Docker core engine in areas related to sandboxing and filesystem access.
Containerisation is all the rage right now. How does Flatpak relate to technologies like docker or rkt?
In some sense they are very similar, because they all use the same kernel-level features (cgroups, namespaces, etc), and they all work by isolating the application from things on the host system.
However, they run in very different contexts. Containers are typically network services of some kind, and are launched as isolated system-level services. So, they have pretty simple interactions with the outside word (a network port generally) and we can assume root rights during the setup as well as the existence of some kind of administrator.
A desktop application instead needs to run completely unprivileged in an ad-hoc fashion, without an administrator. They are also running in a very complex environment (a graphical login session) which they have to interact with in a deep fashion (show graphics, play sounds, use webcams, access user files, show up with icons in the desktop, etc).
Also, the scope of Flatpak is larger than just the sandboxing. We want to have a nice story when it comes to things like graphical app stores, long-term ABI stability, and security updates.
How long do you think will it take for Flatpak to become the main method of distributing applications to users?
First I would like to mention that I don’t think Flatpak will replace distributions. In fact, Flatpak relies on the existence of a “host” operating system that runs the core of the operating system, including things like system services, enabling hardware, and the graphical shell. Don’t ever expect Flatpak to replace these for packaging the core applications of a Linux distribution.
Where Flatpak shines instead is delivering all the other applications out there in the free software world. My hope is that upstream developers will use Flatpak as a chance to deliver their applications directly to their end users, thus getting a much faster release/feedback cycle.
Its very hard to estimate how long it will take for this to become popular, but I hope that by next GUADEC we’ll have a large base of applications available as Flatpaks.
Can you give us a glimpse into what the participant will actually do in the workshop?
Everyone will bring an application to the workshop. Then they will learn how to package and distribute it using Flatpak. With our help they will create a Flatpak build of the app that they can bring home.
How would you describe the ideal participant of your workshop?
An ideal participant would be a maintainer of an application that wants to be able to reach his users directly. He/she doesn’t necessarily know much about Flatpak, but have some general experience with building applications on Linux.
What do you think what makes a GUADEC a GUADEC?
GUADEC is all about the people. The talks are interesting, but ultimately GUADEC is about meeting in real life people that you normally only interact with on the net. Its a great way to build up energy and enthusiasm that you can then bring home and apply to your work.
So, go to talks and workshop that seem interesting, but make sure you also talk to a lot of people. If some project interests you, find the people involved and walk up to them. We’re all nice people and love talking about the stuff we do with anyone.
Thanks a million for your time! We’re looking forward to seeing you at GUADEC!
If you want to attend this great workshop, keep watching for news here. We’ll be announcing the opening of the registration facilities soon and then you can register for this workshop.