July 29, 2017
At the Gtk+ hackfest in London earlier this year, we stole an afternoon from the toolkit folks (sorry!) to talk about Flatpak, and how we could establish a “critical mass” behind the Flatpak format. Bringing Linux container and sandboxing technology together with ostree, we’ve got a technology that solves real world distribution, technical and security problems that have arguably held back the Linux desktop space and frustrated ISVs and app developers for nearly 20 years. The problem we need to solve, like any ecosystem, is one of users and developers – without stuff you can easily get in Flatpak format, there won’t be many users, and without many users, we won’t have a strong or compelling incentive for developers to take their precious time to understand a new format and a new technology.
As Alex Larsson said in his GUADEC talk yesterday: Decentralisation is good. Flatpak is a tool that is totally agnostic of who is publishing the software and where it comes from. For software freedom, that’s an important thing because we want technology to empower users, rather than tell them what they can or can’t do. Unfortunately, decentralisation makes for a terrible user experience. At present, the Flatpak webpage has a manually curated list of links to 10s of places where you can find different Flatpaks and add them to your system. You can’t easily search and browse to find apps to try out – so it’s clear that if the current situation remains we’re not going to be able to get a critical mass of users and developers around Flatpak.
Enter Flathub. The idea is that by creating an obvious “center of gravity” for the Flatpak community to contribute and build their apps, users will have one place to go and find the best that the Linux app ecosystem has to offer. We can take care of the boring stuff like running a build service and empower Linux application developers to choose how and when their app gets out to their users. After the London hackfest we sketched out a minimum viable system – Github, Buildbot and a few workers – and got it going over the past few months, culminating in a mini-fundraiser to pay for the hosting of a production-ready setup. Thanks to the 20 individuals who supported our fundraiser, to Mythic Beasts who provided a server along with management, monitoring and heaps of bandwidth, and to Codethink and Scaleway who provide our ARM and Intel workers respectively.
We inherit our core principles from the Flatpak project – we want the Flatpak technology to succeed at alleviating the issues faced by app developers in targeting a diverse set of Linux platforms. None of this stops you from building and hosting your own Flatpak repos and we look forward to this being a wide and open playing field. We care about the success of the Linux desktop as a platform, so we are open to proprietary applications through Flatpak’s “extra data” feature where the client machine downloads 3rd party binaries. They are correctly labeled as such in the AppStream, so will only be shown if you or your OS has configured GNOME Software to show you apps with proprietary licenses, respecting the user’s preference.
The new infrastructure is up and running and I put it into production on Thursday. We rebuilt the whole repository on the new system over the course of the week, signing everything with our new 4096-bit key stored on a Yubikey smartcard USB key. We have 66 apps at the moment, although Alex is working on bringing in the GNOME apps at present – we hope those will be joined soon by the KDE apps, and Endless is planning to move over as many of our 3rd party Flatpaks as possible over the coming months.
So, thanks again to Alex and the whole Flatpak community, and the individuals and the companies who supported making this a reality. You can add the repository and get downloading right away. Welcome to Flathub! Go forth and flatten… 🙂
15 responses to “Welcome, Flathub!”
Leave a Reply
- March 2023
- November 2022
- May 2022
- February 2022
- June 2021
- January 2021
- August 2019
- October 2018
- July 2017
- May 2010
- October 2009
- August 2009
- July 2009
- March 2009
- January 2009
- July 2008
- June 2008
- April 2008
- May 2007
- January 2007
- December 2006
- June 2006
- April 2006
- March 2006
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- May 2005
- April 2005
- March 2005
“if you or your OS has configured GNOME Software to show you apps with proprietary licenses” How would one do this? I have looked everywhere, but can’t find any settings for this.
@David, actually it turns out I was mistaken – this is planned but not yet implemented. All of the backend support is there to filter the apps by the license field in the appstream, but this isn’t exposed in the UI yet – the proprietary choice is made per repo at the moment. But Richard Hughes says it’s planned for GNOME Software.
[…] the travel sponsorship, to my employer Endless for paying for some of this work, and especially to Rob MacQueen for the last-minute loan of a USB-C video […]
Will Flathub.org ever have a list of Flatpaks available from the site? It’s weird having a web site whose content is only machine-readable. “You can then browse … applications in the normal manner” – that would be using a browser 🙂
Flatpak is a great idea.
Yes, there was a talk about this at GUADEC. See:
[…] "creating an obvious “center of gravity” for the #Flatpak community to contribute and build their apps" http://ramcq.net/2017/07/29/welcome-flathub/ […]
[…] Welcome, Flathub! […]
Nice bit of 90s web design here.
Thanks! I did say I hadn’t updated it for 7 years. Don’t want to spoil the retro vibe… 🙂
“we’ve got a technology which solves real world distribution, technical and security problems which have arguably held back the Linux desktop space”
we’ve got a technology *THAT* solves real world distribution, technical and security problems *THAT* have arguably held back the Linux desktop space
Please, for heavens sake, learn the difference between “which” and “that”. Using them interchangeably (i.e. incorrectly) is so west coast American. Are you even Scottish bro?
Good point, I’ll correct those. (I was born in Wales to Scottish parents, but have lived in England for 15 years. Probably safer to leave it at “British” at this point.)
“To request flathub hosting for an application, submit a pull request against the flathub/requests module for the new-pr branch. The pull request should include a json manifest for the application and any auxiliary files it needs, such as patches or scripts.”
Is this supposed to be the final workflow for developers? This reintroduces the problem that someone other than me, the developer, needs to maintain a build script for my software, namely a packager. Sorry, this sucks big time.
You could have a look at what the guys at elementary OS did with their AppCenter. You connect your Github repo and their build system pulls in stuff from there. No out-of-tree build script that someone needs to maintain in addition to the real one in-tree.
That’s a great idea! The intention of the Flathub process was that the app developer can also take responsibility for their build recipe even if it is hosted on Flathub. Christian Hegert (of Builder fame) was also concerned about keeping recipes out of tree because it breaks the awesome flow of having a one-click build-and-run-in-Flatpak inside the IDE. Maybe we need to revisit this. I’ll post on the mailing list.
[…] es Flathub, un centro de distribución todavía por perfeccionar, pero que ya incluye unas cuantas aplicaciones interesantes y se integra bastante bien con GNOME […]
I just read the guidelines. I would like to host John the Ripper (a CLI app) using Flathub. I already built the Flatpak package, and I was looking for a “central” and “famous” place to host it.
Please, reconsider the limitations you guys have now. Thanks.