Ideas on growing the Flathub Community in 2022

Greetings everyone, my name is Jorge Castro and I’ve recently started volunteering for Flathub. Quick TLDR, I worked on Ubuntu/GNOME back in the day and this led me running in Rob McQueen and while we were catching up I complained about something and then he starting assigning me work items, so here I am.

I’ve worked with some of you before but not most of you, so consider me an ally! I spent the last few months talking to lots of people at distros, ISVs, and users trying to figure out the lay of the land and what people are looking for. So that’s what I’m going to help work on, I want to be able to install applications on my Linux machine and have that be fresh and secure. And my friends who use different distros should have this too. So I am going to volunteer to help solve application distribution in 2022 and I’m hoping people will dive in and help out.

So I’m going to post a bunch of stuff to get started, ideas and thoughts I’ve been collecting to get feedback from the community, and then hashing out a plan together. Here are some of the things I’ve identified that I will be working on, and if you’re reading this post then the idea is to generate discussion around this, organize, divy up the work, and then go do some open source.

Governance

You might have noticed that github.com/flathub/governance exists now. I will be working on codifying governance structures in the repo. I will make a separate thread for this since that will require input from lots of people. TLDR: Probably something like LVFS (PDF) and lightweight.

Engaging with app developers

I’ve been already doing this (as I’m sure lots of you have) but we can probably be better organized, give organizations points of contact, that sort of thing. I have my list of favorite apps as I’m sure you do. Many contributors are packaging applications and haven’t had success in convincing upstreams to make the thing official. I feel like by having solid neutral governance (that looks a lot like what they’re used to from cloud land) and by ticking off their concerns they will join in like some of the others have, and if they don’t at least figure out actionable items. If you are struggling here please feel free to reach out to me, maybe I can help out.

And the big one: We will need to figure out how to connect our donations to these app developers so that they can be compensated for their work. And I want to be able to pay for $my_favorite_app and they need to be able to trust flathub as an entity. And your employer who has already paid for the apps needs to know that their linux users are getting the right bits securely, and so on. See Robert’s thread for more information on publisher verification, payments and so on:

A Quick Word on Gaming

Lots of people have been working on improving gaming on linux, and I just recently was able to run this entire flatpaked stack. Steam, the game, the overlay, and OBS, all flatpaked and all the hardware accelerated stuff was working too because the runtimes had everything I needed.

Everyone should have this!

I’ll be making a separate thread on this, the idea is, rally up all the gaming-related tools and work with them to get them wired up into flathub. Full automation, all the goodies, anybody can play.

Distributions

Distributions are shipping with flatpak now and we can probably organize around their needs as well. I’ve been talking to some of them on the side and lots of this work has been adhoc. I think by identifying and prioritizing problems we could help distributions feel more confident about shipping flathub and in turn this gives us the virtuous cycle with the app developers. Distros have different policies, so they’ll need to be able to slice and dice different views of flathub and serve those to end users.

If you are a distribution developer and have feedback for us, please reply to this. Also please help get the word out to your OS vendor and let them know that we’re looking to start having more collaborative relationships with distros and help get them a high quality set of apps.

Users

One of the easiest things you can to do help out is install applications. I would love to go to Slack and say “hey, let’s work together on this”, but in order to get ISVs to talk they need to see numbers of people using their stuff.

If you’re being papercutted by a flathub issue, please file it, but please also try to work around the issue and keep using the app, we need you to be the first line of quality defense, filing issues, doing the open source things. I plan on being on this forum heavily, so by working together we can find the pain points that affect all parties and use our collective knowledge to line them up and fix them.

Contributors

I see you all on github and the activity is awesome! I am at your service. This will be a separate thread because I’m sure you all have piles and piles of stuff we need, everything from better docs, better tooling, and so on. If I step on your toes it’s unintentional, so just let me know and point me in the right direction.

Content Creators

If you’re a Linux content creator, we need your help. We need “Cool App of the Week!” -style things, especially as new applications land. Existing apps will be having new releases that will need help building buzz and getting users. Remember with flathub users no longer need to wait X months/years for the app to get to them. In many cases they’re getting the updates the same day! Now would be a great time to help, get people using these apps and get them involved.

We’ll figure out some way to make it worth your while, we’ll spin up our presence on twitter, and I’d love to see a thread with links to content for apps on flathub. We can help make connections from your channel to the app authors so you can work together on content and engage with your users, that sort of thing.

This is an open invite to all Linux news sites. We need your help, I’ve seen the communities you’ve built, some of you have larger discord communities than entire distros (lol)! Help us get the word out, no need to sugar coat anything, just tell it how it is, and help us identify the macro-problems. Out there somewhere one of your readers/listeners might be able to help fix stuff.

And I’m looking forward to seeing how other creators tackle this, so if you have a favorite one making kickass linux content, bring them here to hop in and get ideas. I know there’s lots of you out there, and we have so many good apps that need the visibility, so feel free to introduce yourself!

And lastly, us

I volunteer as tribute during my free time (weeknights and weekends, US ET) but I’m looking for people to dive in with me. I mean, look at all the stuff I just posted, even a full-time OSPO would need to work hard on this, heh. If you don’t have technical skills, that’s fine, we’ll be needing help triaging bugs, working on governance documents, and connecting people together. If you are a developer and you’re dabbling, let us know.

At some point I think it would be great to have a dedicated community meeting where we can all meet, talk issues, and get to know each other and do all that kind of fun stuff but for now I’m interested in what you think!

18 Likes

Alright, I signed up. After some struggle and two client installations later it seems I managed to join the Matrix. What’s next? :smiley:

1 Like

Thank you for doing this. Looking forward to what’s to come.

I have been working on renewing flathubs website, so hoping we can iterate on that some more over the year.

1 Like

(For those not on chat): If you’re new and join matrix say hello and we’ll go from there, good to have your skills on board!

Hi @castrojo thanks for your mail. As someon who has been involved and contributed to GNOME for a long time I must state that your post and ideas looks very good to me :slight_smile:

1 Like

@castrojo " Ideas on growing the Flathub Community in 2022"

Yes => Create an extension for flutter apps and support that community of devs.
The number of Flutter apps is growing on all devices.

I would like to publish my app on flatpak but really don’t know how to do it.
There is no real examples!

1 Like

I am an extremely amateur developer. I wouldn’t have been able to publish an app without the excellent and unpatronising support from the people on Flathub.

There is currently a very positive attitude - your aim is to get more apps published - please don’t lose that! If this seems an odd or negative point, the reason I mention it (at the risk of ranting), is because it is in stark contrast to other application publication technologies (which I won’t name). One appears to be ‘an old boys’ club’ with the aim of keeping out the plebs and their ‘vanity programs’ with patronising attitudes, chaotic documentation and a failure to streamline out-of-date formats. The other has an arcane format with little help from a few ‘gurus’ who in reality don’t appear to know very much. A third one is fine. Whatever you do, please be careful not to turn into a bureaucracy or lose the positive attitudes.

Not being able to include a dependency meant that I had to include the compilation of all its modules in my manifest - a nightmare for someone who doesn’t know C. Would it be possible to have a way to include dependencies, provided they were built on the same platform?

I was unable to find any information about changes to the Gnome platform which had made my previously working app unbuildable. Neither could I find a way to compare it with the Freedesktop platform (which some of it would run on). This information should be available from Flathub if it isn’t from elsewhere.

As I am an amateur, my ideas for growing the community are to do with support and simplicity of development.

5 Likes

Thank you for your feedback! Fostering a culture of collaboration, support, friendliness, and bringing the good vibes are the best part of OSS. We can’t solve complex problems without the basics, thanks for calling it out.

Speaking of the tech bits, I can’t speak to those but hopefully someone will chime in!

1 Like

This is a great point and it’s long been a problem that the examples aren’t quite pitched right. Guides like Guides — Flatpak documentation have made some things better but there’s not quite enough of them - this is an area where a committed communicator could make a big difference!

Flutter is a good example of something that could be easily documented and some small tooling could help automate as it’s all super static. Here’s an example of a manifest for a flutter app on flathub https://github.com/flathub/app.getspace.Space/blob/6d49ce1e58b8ab473c50e19a9621650f9e1eb0d7/app.getspace.Space.json which is the real ‘take existing binary, put it in the right place, declare victory’ school of flatpak packaging.

In either case I (and the rest of the people who help out reviewing apps) would be delighted to help you get your app on flatpak!

2 Likes

Love this. It’s exactly what we’ve tried to do from the start and I’m so pleased that it’s appreciated. There’'s no way we’d lose that positive attitude, we’re just thinking about ways to help take it to the next level and make life easier for app developers. After all, we like apps. We’d like more of them and for them to be better, so the more time you have for that the more likely it is.

The opaqueness of runtimes is absolutely an issue and it’s been a longstanding one, I’d love to be able to have a tool to analyse a manifest and say ‘this is in runtimes X, Y and Z’ why don’t you use that instead, and provide other ways to help developers analyse and enumerate their dependencies and capabilties in a way that isn’t a nightmare (maybe an instrumented mode for flatpak run that is entirely permissive and outputs all the things you actually called at the end of a session? maybe more like a linter or some of the language specific generators in the https://github.com/flatpak/flatpak-builder-tools repo? so many ideas!). You’re not wrong that things can and should be better. I personally don’t think that dependencies like a classic linux distro are the right way to do it, but it’s the start of a conversation about how we can make stuff simpler and easier to use.

2 Likes

I’ve been using flathub for long time. I think these are some random pain points:

  • electron apps usually have problems with portals (specifically file pickers and screen share). It’s a bit painful, and it seems to be one of the most used frameworks. Maybe a small task force could join forces to fix pain points upstream and provide good docs for the flatpak+electron combination.
  • every single time you ask some upstream to publish on flathub, somebody comes and says: “why not snap?” And somebody else says “no, AppImage!”. Then a lot of time is lost around that debate and maybe upstream gets tired and sticks to deb/rpm. There should be some nice article to show on those cases to help upstream decide. Also some articles and tools about how to convert from snap/AppImage to flatpak. FWIW I’ve observed upstreams tend to start with AppImage, but many don’t know they can put the AppImage in a flatpak!
  • upstreams usually fear the sandbox. Not sure what would help here.

Please don’t get angry if all this is already done or documented! Keep this lovely work you do :slightly_smiling_face:

3 Likes

Good points! I think it would be beneficial to have some ready explanations/incentives for such questions. Sort of like a short elevator pitch on “Why use flatpak/flathub instead of (or in combination with) XYZ?”

3 Likes

There is no anger if something’s documented but people can’t find it - that would be a key part of the problem too! These are all good insights.

We’ve been reluctant to do much comparing against other people as we don’t want to be seen as ‘haters’ (because we’re not). It would be helpful though, so whoever does this it’s important to keep our positive tone of voice and attitude in anything that compares different technologies - we want to see more apps on Linux and raise all boats (but think that flatpak is a really good way to solve a lot of people’s important problems).

1 Like

As a application developer, I only support Flathub as it allows me to offer direct, first class support to my many happy users. I mean, it’s a very serious business.

Since I also write for Fedora Magazine, I’ll make sure to always sneak in at least one Flathub reference :wink: Of course Fedora Linux has its own Flatpak system, but as an author I always promote Flathub as the more feature-complete Flatpak repository.

Finally, as a package maintainer I package many games, some music related tools, and even some work-related tools. Of particular interest is Conduktor, which is a commercial application who is directly engaged with us. We’re not their preferred distribution partner yet, but I’m certainly pushing them slowly.


So, now that my ego is properly fed, what about that community?

I feel that Flathub’s nature makes it harder to grow a community. First, GNOME and KDE both run their own ‘silo’ and they stick to their existing communities. Second, the whole containerisation of Flatpaks means that I often don’t need to engage with other maintainers. In fact, I have more interaction with the FreeDesktop SDK team then with half the people here.

One thing that we can work on, is a recipe-book. Over the past couple of years, I learned a lot from looking at existing projects and iterating on that, but in the end you still have to open a lot of repositories to find what you’re looking for. This would also be good moment to help people with legacy applications; still GTK and Python 2? Start here. This would not necessarily force stronger collaboration, but it’s something to share.

Other then that, I’m positive. The zeitgeist is changing and many now consider Flathub a great, rising star. Perhaps all we need is a bit more time, and some good day one SteamDeck support :star_struck:

2 Likes

Definitely documentation. Distro-agnostic documentation on-par with what Elementary does would be great! Incidentally, since Elementary is now using flatpak, their fantastic getting-started documentation is now pretty relevant, and worth reading, even if you’re not shipping an elementary app.

5 Likes

This is a great initiative!

I’m not so much an app developer (yet? Who knows what the future holds) - but I am doing something that might be of interest. I recently switched over to linux full time and I’m hot on scripting out + version controlling all my machines set ups (e.g. my desktop/laptop, my home server, various raspberry pi’s around the house) The “point” of this is so I don’t have to remember how to set up any of my machines if they crash and burn or if I want to pilot-test an upgrade process - or if I want to share my setup with a friend or coworker. Part of this process is obviously scripting installs of flathub applications. If you’re interested in this, shoot me a DM and maybe we can collaborate

How to grow the Flathub community ? in my humble opinion, it’s to:

  • Provide solid up to date documentation for app developers.

After that, it’s just a snowball effect.

Happy devs = more apps.
More apps = more happy users.
More happy users = more noise (a positive noise).
More noise = more eyeballs.
More eyeballs = more adoption (distros, etc…).
More adoption = more contributions.
More contributions = a better Flathub community.

Btw I’m just an end user with his outsider point of view (not sure how difficult is any of the aforementioned steps would be).

2 Likes

OK, thanks I will check this :+1:

Rem: there are other flutter apps if we search “flutter” on flathub.org.

Thanks also to the dev who adapted the electron app of the web site :slight_smile:

Well it seems to me that we have a big problem here.

The Biggest distro Ubuntu ship a snapped version of gnome-software ( Since 20.04) as default app store which cannot and won’t ( I guess ) include flatpak support ( See BT )

As a computer brand , we decided to replace it by gnome-software to have snap and flatpak available.

Can you have more info on this from canonical people ?

Canonical has decided to not participate.

1 Like