That’s a good list, but more detailed than we’re discussing in this thread. Hold on to those. As we start discussing specific objectives, that will be great to add.
There’s an idea here — or I think so — that I want to capture somewhere but am not sure where exactly…
That is: while we have these focus areas and objectives as part of the “central” plan, teams which don’t for whatever reason fit into the model at the end could still look to the same guiding star and develop their own logic model for making an impact towards that goal. (And we could collect those somewhere to help make them visible.)
Okay, straw poll time! This is to help me get a sense of what we’re all thinking, not a binding vote. I recognize the that “North Star” isn’t immediately obvious in every culture, and perhaps especially to folks in the southern hemisphere. On the other hand, it is a well-defined, common business-strategy term. On the third hand, Fedora doesn’t have to be businessy. We’re not a business! (And I’m still stinging from that time in 2014 that people on Slashdot called me a corporate suit.)
- North Star
- Pole Star
- Guiding Star
- Some other star name
- Something not star-related
- Whatever you want
- I don’t care
And yes, I’m going to vote in my own poll.
I am not, actually. EIther stinging or a suit. ↩︎
… to double-click on Mairin’s point:
IMHO, most open source projects tend to focus on the perspective of the developer writing the code. Fedora is not an exception there.
Where I think Fedora has a contribution to make is in the
releng process in particular and in meta-cognition about artifacts in general.
In other words, the future is more distributed, more collaborative and more platform agnostic. I think that Fedora can promote the practice of building confidence in code through testing and supply chain management.
If Fedora can make it easier for developers to answer the four enduring mysteries:
- How can I tell if it’s working?
- What should happen if something goes wrong?
- How do I know if anyone is using this?
- How much better is this version than the previous one?
…then the whole community will benefit and it will be easier to engage with new contributors.
I know this is a tall order. In fact, question 4 got me disinvited from eng meetings at a (over capitalized) startup.
A more ambitious goal would be to facilitate trunk-based development perhaps using a combo of Gerrit and Zuul-ci, like the folks over at https://opendev.org or https://softwarefactory-project.io/
I’ll show myself out…
It’s up to you Matthew. You’re the author. The reality is that idioms usually don’t translate well between languages or cultures; but they make writing interesting. This is making a mountain out of a molehill.
For something star related, guiding star seems to me to work most generically. However, I also voted a second time for something non star related and in this case I would lean on the terminology from the book “The 4 Disciplines of Execution: Achieving Your Wildly Important Goals” and adopt the term “Wildly Important Goal”. The basic principle of this term is to acknowledge that if you drop all your other goals, which one (or max 2) things are the goals you REALLY need to get done to achieve your mission. That last word might resonate with some as well (mission) but I can see the argument against it in the form of being a bit too corporate.
Singling out just one downstream company is unexpected. What about Meta/Facebook who are doing important contributions like Changes/EnableSystemdOomd - Fedora Project Wiki and Changes/fno-omit-frame-pointer - Fedora Project Wiki. Then there are people from Lenovo (Now available: Fedora on Lenovo laptops! - Fedora Magazine), Intel (Issue #2929: About cla_intel group - fesco - Pagure.io), and people from our downstreams’ downstreams like Alma and Rocky, and I’m sure many others. It would be nice to make them all feel welcome and integrate them more tightly in the Fedora contributor community.
I understand your concerns, but once you start listing EVERY possible target, you quickly end up with a strategy guide that can NEVER be fulfilled. In reality, all those communities are valued and would be great to join with. However, there are not currently enough people available to make that happen.
It is better to focus on one external community at a time and see if you can build synergies there. If it works, then you can update the strategy guide and look at another community. If it doesn’t work, you do a lessons learned, and then look at either trying again or moving to another community. Either way you aren’t trying to do too many things at once.
My main problem I have with Guiding Star and North Star is that in many ways they lead to linear thinking. It is easy to use a ‘Guide Star’ to go north/south. Going east/west or using it to go around a mountain to reach a port takes tools and guidance which most of the time is lacking. [Having been lost on a couple of night hikes with groups of people made me realize this.]
While this may sound like I am being over literal, this was a problem found with organizations who used this terminology in the 90’s but didn’t roll out associated tools. It was easy for teams to do something that was ‘linear’ and they could keep whatever distant goal in front of them. When things got to be difficult, people needed additional tools to figure out if they are going in a good direction. [Think of the equivalent of astrolabe, compass and sextant.] Those tools take time and knowledge to use properly. Choosing the tools that are to be used is important and usually come in the form of some sort of ‘continual improvement’ methodology.
I agree with this on basic principle. However, I am not sure it relates to this particular Guiding Star. If you can find a way which satisfyingly ties it in, I’d be interested. I think, though, it might be a separate important thing that we ought to do regardless of particular strategy.
I think this is an example of a third major What if something is missing? category — beyond “sure, we won’t stop people from their own priorities as volunteers”, this could be an initiative or goal for the project overall that sits alongside Strategy 2028.
Does that make sense?
@zbyszek — in the interest of keeping a big conversation somewhat coherent, can you save this particular for when I open the topic about that focus area in specific (see Fedora Strategy 2028: a topic index for our planning process - Fedora Discussion)? Thanks!
(I have bookmarked your post so I will move it to the relevant thread when it appears.)
A relatively well-known Linux youtuber, Brodie Robertson, made a video covering the 5 year plan. It could be helpful to get more insight as to how this plan is perceived from the outside.
For example, there was a point about flatpaks where Brodie thought that we wanted to be bigger than Flathub as a source for flatpaks. It could be worth clearing up that language so we communicate whether we want to be a popular source of flatpaks or want to have some other kind of influence on promoting flatpaks.
Noting for when we get to that section.
Also, while that’s not the goal I had in mind, it wouldn’t necessarily be a bad outcome.
Great initiative to double the number of Fedora contributors active every week.
I think it should go a bit deeper than it currently is, however, and to make a real difference, address the underlying accumptions of what Fedora is and what it could be. Let me break this down into the individual themes:
Theme: Fedora is for everyone.
Currently it feels like Fedora is not for everyone. Currently it feels like Fedora is mainly a system where developers paid by Red Hat implement the Red Hat vision of their architecture, and real community-driven open source development has no chance if Red Hat has decided on how to do things. To change this, Fedora could
- Ensure that no particular company dominates the overall agenda, architectural roadmap, and development
- Ensure that equal weight is given to competing elements in the stack, e.g., that there is no bias toward one particular graphical toolkit
- Ensure that there is not one “default” flavor of Fedora that comes with one particular desktop environment
Theme: Fedora leads in Linux distribution development.
One of the biggest downsides of “Linux” (not as in the kernel, but as in the overall stack) is that, well, it is not a complete operating system, but “just” a kernel (unlike, e.g., Windows, macOS, BSD, BeOS). Due to this a neccessity for Linux distributions arose, but unfortunately the result is a splintered landscape. If Fedora wants to lead in technology, it should strive to drive defining a sane “Linux” platform, with all Linux distributions using the same package names, paths for libraries, and agree on a core set of libraries that can be relied on, in order to make development for the “Linux” platform easier. So Fedora should work with the Linux Foundation to renew the Linux Standards Base (LSB) and LSB Desktop efforts.
As an open source distribution, Fedora should not be biased to particular technologies when multiple different, competing (in a good way!) frameworks exist. For example, Fedora should not give Flatpaks more weight than Snaps or AppImages, just like it should not give more weight to Gtk than to Qt, WxWindows, Electron, GNUStep, etc. In this regard, Fedora could become more open, more like openSUSE or BSD, where it feels more like it’s the user’s own choice which technology stack to use.
Open source is about choice. Wherever there are multiple options, Fedora should present those options in a neutral, unbiased way. Like Microsoft should not push Internet Explorer on users at the expense of other browsers, Fedora should not push glib, Gtk, systemd, Wayland, Flatpak, Portals,… over other technologies and frameworks developed by the wider open source community.
Fedora should seek dialog with those open source communities that do real, community-driven development, rather than just pushing technologies coming from Red Hat, from current or former Red Hat employees, from projects sponsored or hosted by Red Hat, or from companies working with Red Hat. In this regard, Fedora could become more like Debian.
Theme: We build on the success of Fedora.next.
Editions, Spins, and Remixes should all be one and the same: Flavors of Fedora. There should be no “default” flavor. Users should be able to decide for themselves which flavor to use, without any particular flavor being presented as the “generic”, “main” one.
Open Source is about choice, and that choice should be presented to the user in an unbiased way. Maybe invite the project leads of the various open source projects to write the description texts, e.g., have someone working LXQt (a Qt based desktop environment) write the description text for LXQt and the LXQt flavor of Fedora.
Ecosystem connections are already strong to CentOS Steam and RHEL. Too strong, one could argue. It would be way more important for Fedora to build great relationships with distributions outside of the Red Hat filter bubble.
As of today, the agenda of Fedora is literally hosted on a Red Hat URL:
Can the future of Fedora be free it from Red Hat dominance, can Fedora become a true community project driven by volunteers from the open source community?
Hi Howden. Welcome to Fedora Discussion, and thank you for your feedback.
I am not going to respond point by point, but there are three particular things I do want to address.
First, while Red Hat is the primary sponsor of the project, and pays a lot of us full time to work on it — but there’s really no “Red Hat has decided!” to the way we work. I’m sorry you feel otherwise and hope we can change your mind.
Second: You’ve repeated that “open source is about choice” several times. But Fedora does not want to present users with an equal array of unvalidated options. We work on integration, and as part of that, inevitably make choices. To take “flavors” literally and reuse a metaphor from several years ago: Fedora isn’t a grocery store. We’re a restaurant. If you don’t like what we’re serving… well, one answer is that there are other restaurants.
But Fedora is a unique restaurant, because we not only have an open kitchen, but a kitchen where we invite anyone who wants to (and who shares our basic vision and goals) to come and cook. If you don’t like what’s being served, you’re welcome to help make something you think guests will like better.
At the same time, we’ve got some dishes we’re known for, are familiar with, and where we have a long-standing, personal farm-to-table relationship with the producers of the ingredients. Those are the meals we know we can make best, and therefore the ones we’re putting on the front page of the menu. Other items which are popular in different ways and for different reasons can be featured in their own way. Many items we might not be able to taste-test every time we throw a banquet. And some items may be one particular cook’s favorite, but no one else really has been interested to learn about it — we support that too, but we aren’t going to make that dish feature.
In general, this actually does work as you describe: the various “cooks” write the descriptions for their dishes, and can promote them, and so on. In fact, our new (upcoming) website redesign includes a content-management framework specifically intended to make this easier.
The thing is, we know that this “chef’s special” menu approach works. The theme is “build on the success of Fedora.next”, and Fedora.next specifically emphasized Editions. And, having done that, we’ve grown and are way up in just about every metric we have. But, as the theme implies, we can also do more. We can make our “chef’s special” dishes even more amazing. We can make it a lot easier to “cook your own”. And we can better support many different cuisines, dietary variants, and so on.
That’s literally a Discourse URL. Red Hat is paying for the hosting of this forum, and the hostname is an implementation detail of an agreement with CDCK (the company behind Discourse) to make sure we have automatic backups. Someone at CDCK picked that name, and it was in place before I had a chance to suggest something else. We could have asked them to make it be anything, but I don’t really see what that would serve. Red Hat is still paying for the forum. (If you have other suggestions for getting the funding we need for enterprise hosting, bring 'em on.)
Fedora is already a true community project driven by volunteers from the open source community.
People who work for Red Hat are part of the Fedora community.
And, yes, there are a lot of us, and some of us are fortunate enough to be paid full-time to work on this thing we love. Because projects are driven by people who do things, that does mean you’ll see a lot done by Red Hatters. A huge, huge amount is done by people who aren’t employed by Red Hat — and a lot by Red Hatters for whom it isn’t their job at all. If you think a greater portion of effort should come from non-Red Hatters, there’s a way to do that: get more volunteers interested in doing cool things aligned with our project goals cooking in our kitchen.
I know what you mean, although there is really no one thing that is “the open source community”, because that’s too large and diverse to be meaningful. ↩︎
Off-topic tip! If you’re replying by email, and see a post you like, you can respond with +1 or <3 (a an ascii heart) and it will show up on the web as a underneath the post you are replying to.
Thing is, if Fedora wants to be “leading”, it needs to untangle the stack.
Meaning, it needs to make sure that stack component A (let’s say a window manager) doesn’t introduce subtle dependencies on component B (let’s say an init system), just because everything developing A only ever worked on systems that always use B.
This is not the same as asking to support everything. This is asking to make sure that every piece of what makes Fedora can be replaced with no ill side effects.
This can be done by ensuring that the other components of Fedora still work when one replaces any of its components by another (“competing” is the wrong word, as open source communities are supposed to be “collaborating”, but you get the idea) component.
As soon as you start with this mindset, you will suddenly see how entangled many layers in the Fedora stack are with each other. There are dependencies or de-facto dependencies between things that should be entirely agnostic of each other (as per the *nix philosophy).
Today, either you accept the whole Fedora stack, or you have to reject all of it. That’s not how open source communites should work, imho.
As soon as one starts a discussion around using Fedora but with
- Something else than systemd
- Something else than Wayland
- Something else than Flatpak
- Something else than Pipewire
then the answers are ususally not really helpful. If Fedora wants to become “leading” as a Linux distribution, then at least this mindset should shift.
De-facto dependencies are even worse than hard dependencies, making users believe they are free to choose components but as soon as they are deviating from the choosen path, they only get unhelpful answers from the Fedora community like “why don’t you just use X” with X being any of the examples listed above.
Systems in which everything subtly depends on everything else are known as “spaghetti architecture”, and are clearly not “leading”.
This post is not meant to complain. It is meant to be an eye-opener for those who think Fedora should indeed be “leading” in Linux distribution development, suggesting the need for a mindset change to happen in order to achieve the goal described in the strategy.
“We integrate programming languages stack ecosystems” is not enough to attract developers/hackers to use Fedora Linux. Developers/hackers not only use a distribution. They always want to hack the distribution.
So I hope Fedora can be more hackable by single-person hackers. But that’s a long-term vision and can be continuously improved. In the next five years, I hope we can do better in two aspects:
- To make each Fedora Linux release rebootstrappable from source in a managed/scripted way on a single machine from an alien binary toolchain. I have been always dreaming about this. There is now better tooling and platform to let us reach the goal. I have imagined bootstrapping Fedora Linux from Freedesktop SDK and with Buildstream.
- To make it easier to install packages from source, especially from any dist-git/source-git repository. Compared with Golang we can install modules by running
go install github.com/my/module, I am wondering if we can someday run
dnf install github.com/my/package, given
github.com/my/packageis a dist-git/source-git repository.
To: Fedora Strategy 2028: February/March Planning Work and Roadmap 'til Flock - #37 by mattdm
Mattdm, I feel this is a very common concern, and it’s reasonable. Almost all outsiders see us as Red Hat’s development project, even though we are an independent project.
Think about, Red Hat is our main sponsor (our infrastructure) and owns our trademark, Fedora. If they pull the plug from the wall, we can’t do anything about it.
And want or not, some of the developers are left out of the Fedora and instead participate e.g. in Debian because of this. They cannot rely on Fedora’s future and impartiality. And several parties involved in Fedora make a backup plan and aren’t as committed. In Debian, on the other hand, is trust that the community decides.
The repeated request for years has been the Fedora Foundation. It would at least provide some kind of protection for the independence of the Fedora Project. In fact, this was planned years ago. The project has since grown a lot, would it be time now?
Note: No bad to Red Hat or other parties involved in the Fedora. In fact, Red Hat is one of my favorite companies. The point is that the Fedora Project is and must be independent, and this should also be confirmed also in legal context.