Fedora in 2025: what do we want, and how will we get there?

I’ve been mentioning that we should start this conversation for a while, but haven’t actually, you know, started it, so here we go!

The Fedora.next initiative was our most recent big effort in intentionally shaping the future of the project. In the time since then, we’ve worked on an updated mission statement, vision statement, and guiding strategy which support the overall work we set out for ourselves.

But that was in 2013 and 2014, and at the time, we talked about the next five years — and overall, the second decade of the project. Now (waving aside the time lost to the global pandemic and all…), it’s five years later. I think we’re doing awesome things and have great momentum — but it’s time to kick things up again.

Here’s a chart I’ve often shown — this is from the “old” mirror statistics system, not the newer DNF counting, so don’t pay too much attention to the absolute numbers, but the relative amounts tell us a lot:

The color-groupings here are largely arbitrary, but the green area[1] roughly represents the Fedora.next time period — 2014 to 2019. You can see that we had really steep growth … and then, more recently, still a lot of growth, but a much more… pedestrian slope. Things are slowing down again. If we coast on where we were, it’ll just keep slowing. So itt’s time to discuss, and come up with a plan for … let’s say, from now until 2025.[2]

But, rather than focusing on number of systems (and the user growth that represents), let me start by planting a different flag on the horizon for us to strive towards:

Let’s double the number of people who are active every week in Fedora.

We have a nice mission, and a great vision. But if user numbers keep growing even at a slow, steady pace, we need to make sure we have a contributor community that’s there and ready to keep up, creating software, packaging and polishing it, writing docs, doing tests, making translations, creating designs, facilitating community and communication, helping people out, spreading the word, trying new ideas… all of the things.

What do we need to do to that? What do we need to focus on? Where are we doing awesome? Where do we need to improve? What things should we stop doing? What big changes are there in the distro landscape — and the technology world, and the world as whole do we need to adapt to, and how should we do that in a way that brings the best Fedora has to offer to a new set of people? What big changes to technology might we need? What about cultural and social changes?

And, of course — what other big goals should we strive for in building the world where everyone benefits from free and open source software built by inclusive, welcoming, and open-minded communities?


  1. the next-to-most-recent grouping ↩︎

  2. That’ll nicely wrap up our first twenty years, and by then, it’ll surely be time to go through this again. ↩︎

15 Likes

This is a good goal. I’m not particularly interested in Fedora taking over the Linux market (or the entire OS market). I’d rather reach a subset of users and serve them well than to saturate the market and serve it poorly. (A false dichotomy, yes, but let me have this.)

If we can grow our contributor base, a growth in usage seems like a natural result. So how do we do that? No idea!

That’s a lie. I have some ideas:

  • Active contributor recruitment efforts. The Join SIG does an amazing job of helping new contributors get settled in. But we’re not doing enough to go out and recruit people to join. In particular, people from under-indexed groups.
  • Third-party use cases. Ubuntu has done really well being the default OS used in CI systems, public cloud, third-party app instructions, etc. What would it look like if we became the default OS that people use when they demo their apps? How do we get there?
  • Improved contributor tooling. Can we reduce the friction of making contributions by wrapping docs tooling? Improving the package maintainer experience? Automating more tests?
  • Make our ostree-based variants the primary deliverable. Reprovisionable[1] OSes aren’t for everyone, but if we can make the experience smooth, I think they’re a better fit for the default use case. What if we could make Silverblue be what you get when you download Fedora Workstation? FCOS be Fedora Server?
  • Add mentoring programs. We have Outreachy, GSOC, etc. But what about people who come from outside of those programs? What about people who have been active for a while and want to become more active or learn new areas?

I’m not particularly tied to any of these ideas, but I think they’re important in support of the broader goal. And they largely represent areas that we’re under-investing in right now. I’m not sure how we make bigger investments in those areas, but identifying them as key parts of our 2025 plan is a starting point to figuring that out.


  1. “Immutable” → reprovisionable, anti-hysteresis « Colin Walters ↩︎

13 Likes

Let’s double the number of people who are active every week in Fedora.

This topic came up in the Mindshare meeting today and we had a good discussion on it we will need to continue at another meeting :slight_smile: Here’s the highlights of the discussion (logs are here altho we had some post-meeting discussion too:

METRICS 101

  • We started out talking a little bit about metrics - because how can you even know you’ve increased the number of active contribs if you don’t know how many you have :slight_smile:

  • How do we get metrics - number of active contributors, number of contributions, etc. - and how the teams under Mindshare tend to be a bit trickier to measure contributions for than say code or build contributions. Reference: https://chaoss.community/metric-types-of-contributions/

  • Are there any metrics or data in the Fedora Contributors Survey Data we could use to inform this effort? Are there questions we should add that could help in the next round?

  • Can OSPO help us figure out good ways to measure Mindshare style contributions?

  • We talked about the accuracy of the metrics we use - e.g. the number of members in a FAS group isn’t an accurate metric if there’s no policy in place to expire membership or provide a low stakes opportunity to members to gracefully “sign off” so their status is accurate. Mention of Fedora wallpaper voting in the design team as a 2x annually method of enabling an “easy out” for inactive contributors.

DIFFERENT TEAMS ARE DIFFERENT

  • We have a proliferation of communication mediums too so a one-size-fits all (e.g., just analyzing mailing list traffic) won’t work across all teams, because not all teams use any given medium (e.g. mindshare and design-team’s list traffic is pretty low these days and primary communication has shifted towards pagure tickets, matrix, and for design-team the weekly video calls.) We talked about perhaps having individual teams come up with a list of metrics for themselves that would help build an accurate picture of activity - perhaps its number of attendees at weekly video calls for design team, perhaps its number of unique authors in a month for the Fedora Magazine team.)
  • Under the Mindshare umbrella we have a mix of active and inactive teams (for example, marketing is inactive.) So the problem in increasing contributors is different depending on this status of whether or not a team is active or not. For active teams, you’ll want to try to double the number of active contributors. But for inactive teams, you want to reboot the team with a startup set of contributors. Those are different problems.
  • (We also talked about framing inactive teams as leadership opportunities - explicitly labeling a team as inactive is marking it as a leadership opportunity for someone to step up and build it back.)

METRICS ASIDE…

  • We talked about concerns about focusing too much on metrics and missing the point in the process - putting efforts into measuring and not actually increasing the number of contributors.
  • One idea from the website revamp that might help this effort is a principle we are going to be following we’re calling “contextual upselling” - basically upselling website visitors on giving contributing a try in areas of the website (or Fedora generally) that are most contextually relevant to the type of contribution. For example… on the download page, having a link people can click on “Want to help test Fedora? Click here to access nightly test builds” - you’re providing the opportunity at the moment they are thinking about downloading Fedora anyway. Or another example, at the end of an official Fedora YouTube channel video - “Want to contribute a video to this channel? Here’s how” and point to a media creator’s guide to contributing to Fedora with a list of the types of content we’re looking for. So it’s kind of just-in-time, contextual… rather than sending folks to a generic “Join Us” page and have them hunt around for something to do, you’re offering them the thing to do when they’re in the headspace around doing that sort of thing :slight_smile:
8 Likes

I love this! All of your other points are :100: , too, but this one in particular jumped out.

2 Likes

On metrics: I still have Fedora Contributor Trends running, which gives charts like

and

But these are limited because they only draw from:

  • dist-git commits
  • wiki edits
  • bodhi karma

This misses a lot of participation — including things like pagure tickets which we could track.

@josseline worked on an update to this (dashboard, backend) over this summer as an Outreachy intern, but it’s a big project and we didn’t expect it to get completed. She’s still interested in working on it but has been very busy. I think it’s worth picking up as a replacement for my hacky script — it’s really close to ready.

The backend repository seems to be mostly empty.

Hmmm, yes. I’ll find the right thing. :slight_smile:

Wanted to throw my comments in to the discussion here. My own thoughts and observations over the past year.

Onboarding a new packager is very diffcult

I’ve done this for two people over the past year and the process of both becoming a packager and creating your first Fedora package is a very bespoke process. RPM itself is complicated by itself, but a whole lot of stuff is happening at a distance when you look at another spec file littered with nothing but macros. This is all developer knowledge and it’s not clear how to get in the know for this. Personally, I’ve been really surprised to learn how much I just take for granted when helping new packagers become contributors.

I don’t have a good answer for this except that it would help to break down the process in to logical parts. First, learn RPM and the tooling there. That can be done without becoming a Fedora contributor and is what I recommend for new people. Learn where to get the information you need and where to ask when you can’t figure something out. And since it’s nearing 2022 now, this can also use an explanation of what a package is. The concept was well understood in the 90s, but all of use old timers are, well, old…and the meaning of a package has changed. Helping new contributors understand why Linux systems are built this way also really helps out. Documentation is fine, but examples, videos, self-guided tutorials are all things we should consider to help improve this.

There’s more to contributing than packaging

We need to make things easier for contributors of non-RPM stuff. Our documentation has improved over the years, but can always be better. Translations can be better. Testing can be better. Really, just everything that’s not packaging can improve.

I do like the Arch Linux wiki. Say what you will, but they have definitely won the technical content documentation award for Linux systems. I don’t think we need to aim to replace the Arch Linux wiki, but that project by itself has grown and allowed contributors to extend all of that information with actual details and steps. Fedora could really use something like that. Whatever we do in this area, the onboarding process needs to be simple. If it’s too complex, it’ll never work.

Encourage long time contributors to mentor

Personally I find mentoring rewarding, but some don’t. I know there are more contributors out there that would be good at this work. We should have something that encourages contributors to take up mentoring. Even if it’s just helping one new contributor for the year, that’s a win. People have told me Debian has something like this too for new contributors. I don’t know, I’ve never Debianed.

What I think we’re doing well

Fedora continues to lead with regards to the latest Linux developments and making those available to users. Releases over the past few years have been incredibly stable too compared to many years prior, so that’s something we should be proud of. Whatever we’re doing to ensure that is working, so I don’t want to disturb that.

That’s all I have for now.

11 Likes

5 posts were split to a new topic: How does Silverblue fit into the future of Fedora?

Just my 2¢ here, but I really like the RPM CoW ideas that Matthew Almond talks about in the following YouTube video. He gives a good summary of the concept at about 29 minutes into the video if you want to skip over the low-level details. I think this work is already underway in the Fedora Project.

At one point in the video, he mentions that the system he is proposing would transparently eliminate the need to re-download a lot of content when working with containers. But I think he said that the containers would need to be packaged as RPM files for that to work. It has been a little while since I watched the whole video. But I think his ideas sound great and I’d really like to see them adopted for Fedora Linux.

Again, just my 2¢.

2 Likes

FWIW this is currently planned for Fedora Linux 36: Changes/RPMCoW - Fedora Project Wiki

I think things like that are neat, and I expect us to continue to work on that kind of technical improvement. But I don’t think improved technology alone will get us there — what else do we need around these ongoing improvements?

Or, another angle: is there an overall big technical goal we should strive for that this is an example of?

If I understand what you are asking, then I guess the overarching technical goal is just to improve the user experience (in terms of performance with respect to installation time) and to reduce the costs (in terms of required bandwidth on the mirrors). Sometimes something that in a way is a small thing can have a big impact on the user’s perception of how well the system works. For example, when systemd parallelized the startup processes to reduce the boot time, it made Linux seem much faster and better than it was before (though in reality the startup time probably doesn’t really matter that much).

3 Likes

I am really glad you are having this conversation. I am talking from the perspective of an outsider, enthusiast user. I do not consider myself a Fedora contributor, but I do think that the future of desktop Linux is tied to Fedora, and Fedora is the best positioned project to achieve great things in this world of desktop Linux.

I think the biggest, easiest to solve blocker would be to offer a better first-time experience for Nvidia users. Many technical users I’ve talked to have a great deal of issues because they have an Nvidia graphics card and sometimes Fedora doesn’t even give you a graphical user interface or accelerated graphics without fiddling with difficult to configure packages and kernel patches. Most of them just install ubuntu or pop os because they support this use case with a couple of clicks or, in the case of pop os, with an alternative ISO that comes with Nvidia drivers. Would any of these approaches be viable for Fedora? Could a third party like RPM Fusion host Fedora images that come prepackaged with these drivers?

Long term, the Silverblue approach seems to be the most safe, secure, stable and user-friendly, but some user experience issues have to be solved before. What I think that should be priorized ASAP is to stop making people waste time packaging non-system software as RPM. Developer’s time is not abundant, so maybe that effort could be better spent improving flatpak, helping other developers packaging their software as flatpak, etc.

I know that Fedora is a community-led project, but is there a direct relationship between more contributors and more users? I think right now, as Apple or Windows have shown, corporate collaboration is the key to a polished and stable user experience. elementaryOS is not there in marketshare but from the first second you run elementaryOS you can see that the team behind that distro is focused on the final user experience and that is their only objective. I am trying to learn about how contributions reach Fedora but my first hunch is that improvements like wayland, pipewire, podman, systemd… exist just because the server linux or automotive linux projects need them, and then those projects are reused in the server. What I am trying to say is that maybe Fedora could be that overarching team that coordinates global needs, from the perspective of the user.

Having the right metrics, as said before, is key to get this right. But even before having those metrics, how do we know what problems are Fedora users having? There is not a Fedora bug tracker, but a different tracker for every single package out there. So, what is the prioritization criteria? How could it be possible to know even if Fedora is working well for the many different users that exist out there?

As others said before me, I don’t think this is a technical problem. Users are not coming to Fedora because it has the latest version of BTRFS, but because you install it and it gets out of the way. That is why people is going to pop os, mainly because they know it will work well enough, but they don’t care about the version of the packages. They care about the overall experience and their first impressions.

Anyway, don’t get me wrong. I do think that Fedora is creating something incredible and I am just an outsider so I might be biased or might not have all the needed context. I sincerely hope this opinion is helpful, and will try to get involved to help in a more direct way if I find a way to do so.

1 Like

Thanks @mattdm for opening this thread!

If we want to double our active contributors, I believe it would be useful for us to examine the following questions. I would really love to hear peoples feedback about these questions and the thoughts I have listed below.

Why/where/when/how do potential contributors lose interest?

What can we do at those pain points to improve the contributor experience?

I think working on the user experience is important. It should probably happen simultaneously to these efforts, but I think that is beginning to stray from the topic at hand. I think it plays a part because that is a potential contributor path, though improving user experience will not automatically translate to a better contributor experience. Sounds like we need another thread :smiley:

Iirc, we have 40k+ Fedora accounts created. If we have somewhere around 1000 active to semi-active contributors, where did all those other people go? Putting aside all of the very reasonable things like life got in the way, someone has given all they can, or a particularly bad interaction put someone off- I think I can say with some confidence that there are gaps that a lot of people have fallen through.

@bcotton is hitting on the types of things I am thinking about, like improving contributor tooling and focusing on mentorship. Here are a few of the issues I see and some ideas for improvement.

Unclear documentation

  • All active teams are on docs.fpo
  • Re-structure/work on Wiki so that most things redirect to docs or marked as retired
  • Document which teams are inactive

No response on mailing lists/channels

  • Retire inactive lists & channels
  • Active teams commitment to 100% response rate to newcomers

No easy tasks to take on/high barrier to entry

  • Work on a replacement strategy for easyfix
  • Clarify processes that are unclear (e.g. how to contribute to infrastructure, how to join DEI team)

Contributes once, then not sure what to do next

  • Invest in mentorship resources: training, meetups with other mentors
  • Active teams commit to mentoring newcomers
  • Track individuals beyond the Join process.
  • Focus on the Join common entry point to get an understanding of newcomers experience- who is still active after 3, 6, 12 months? Should we reach out to them again and how? For those that are still active, what are they working on?

Doesn’t feel welcome/included

  • DEI resources for Fedorans, tested and trusted by Fedorans
  • Social agreements for team meetings: how do we show up? Who is doing all the talking? Are people getting talked over? Are people present & engaged?
  • Education and empowerment for allies to actively make space and advocate for underrepresented groups & individuals
  • A collective understanding that everyone does not work the same way. Some assumptions about how we work should be rethought. For example, some people do not feel welcome asking questions in channel or tickets, and thats ok. Yes, the answer to that question could benefit everyone, but we are trying to build connections for individuals, and the process to do so should be bespoke. If the question is never asked at all, no one is being helped.
4 Likes

I might be mistaken but the original post mentioned doubling the number of people active each week in Fedora, linking to stats about Fedora OS usage. That’s why I tried to put forward issues that I think are important to improve adoption, but maybe those should be moved elsewhere.

In any case, community is an important part and you raised some interesting points. Just I am not that sure that there is a direct relation or a causality between more contributors and more users.

2 Likes

I appreciated reading your input! It’s definitely not out of place :slight_smile: My thoughts are:

  1. This uncovers my bias that “people active in Fedora” equates to contributing
  2. @mattdm should help define the goal a bit further wrt “active” and what that means in this context
  3. The entire breadth of this discussion may take infinite more threads and I think breaking some off to fully explore them could be useful
1 Like

I think these are a reciprocal relationship and can be viewed as the chicken and the egg, in that which came first. The current situation I think is shortage of support in packaging, with a noticeable increase in user activity. This is a solid reflection of the quality of Fedora Linux, and the group of individual contributors as it stands. People are taking notice I think, and that’s good.

The goal as @mattdm states seems a reasonable one, and your statement supports it as well as what @dcantrell points to I have expressed before as you know. I have opinions about some areas I see as opportunity to enhance the onboarding experiences for both new comers and the mentors/sponsors. There are a lot of moving parts that make up the Fedora Community, packaging is only one but crucial.

2 Likes

I did mean active “contributors”. I didn’t mean to be vague, but I did also want to be general — I mean packagers and developers and qa team, but also people writing for the Magazine, working a (virtual, sigh) booth at FOSDEM, design team, social media, and so on and so on.

1 Like

Note: I’m going to split out the discussion about os-tree hosts as the default to a separate one, because while that’s definitely an important thread, I think it’s too low-level/specific for this topic. (I know Ben started it here, but let’s keep this part of the discussion in the context of the high-level goals and strategy.)

3 Likes

Fedora is a very nice project. However, one thing that is not nice is that every now and then, things stop working. Fedora desktop edition is labelled “Workstation”, but this kills its purpose. Examples:

Apps like Peek, Zoom and Flameshot are essential for my workflow. My Workstation should work with them, or at least provide steps on how to do it.

So I’d love it if every now and then there were some polls to know which apps are most used by Fedora users, even if from external repos, and then give them better support.