Fedora's Strategic Direction: An Update from the Council

council
strategy

#1

The Fedora Council met last week in Minneapolis, Minnesota. It’s a lovely city, but rather cold, so we largely stayed within the interconnected network of enclosed bridges known as the Skyway — and in our conference room working. One of our main projects was the draft below. This is a follow-on from our update to the mission statement last year. It represents the way the Fedora Council would like the Project to make that mission a reality — a guiding policy. We’d like wider community feedback on this approach (and the write-up of it), after which we plan to include the final version in the project documentation .

— Matthew Miller, Fedora Project Leader

Fedora’s Mission

“Fedora creates an innovative platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users.”

We do this within the context of the four foundations: freedom, friends, features, and first.

Context

The Fedora Council identifies the short-, medium-, and long-term goals necessary to keep the Project on the leading edge of technology. The Fedora.next initiative focused the outputs of the project around use cases. In 2017, we updated the mission statement to reflect changes in the computing landscape. Today, it’s too difficult to build new solutions in Fedora.

Our Approach

We will make it easy for the community to build solutions, address specific developer problems, and meet their end users’ specific needs. We will do this by encouraging and helping Objectives which make the necessary changes required to ease the process. This accelerates the transformation of Fedora into a community that enables the construction of solutions.

Internally, Fedora focuses on enabling these solutions to be built. The outputs of Fedora are the Solutions our community members build. Our focus on enablement allows experimentation without prior judgement or gate-keeping.

What does this mean?

Teams such as Design, Documentation, Packagers, Release Engineering, and Quality Assurance provide building blocks and offer services to other community members and Teams. Services and building blocks include: CI infrastructure, community building advice and guidance, event funding, logo services, RPM or other software packages, swag, testing and validation, user support, or UX design.

Anyone may use Building Blocks like software packages and artwork to create a Solution. Solutions include: Fedora Workstation, KDE Plasma, and the Python Classroom Lab. Teams define criteria for services they provide to solution-builders. For example, teams providing press and promotional support may choose to provide additional support to Solutions with larger user bases.

Teams are free to define elements of their Solutions, such as intent, deliverables, and release cadence. Teams can build Solutions from any building block and pick and choose what tools they use. Based on their choices, they get different levels of ability to use the Fedora trademark (i.e. “Fedora Remix” vs “Powered by” vs Fedora”). Some solutions are the premier showcases that we call Editions; these are used in the gating tests for our releases.


Move docs sources and issues to GitHub, redirect subdomain to spins website
#2

#3

This sounds to me a lot like the Fedora Remix. I used to build one. Are you saying you want to make that easier? My recollection is that it wasn’t all that difficult - just a bunch of scripts to automate the process.


#4

I think they want to host everything under one roof, GitHub in this instance. Also would seem more final product results (solutions) are going to be squarely in the community wheel house. Which is in line with your question regarding remixes. Thats just my take on it.


#5

As a former marketing guy, it’s long struck me as questionable that the resources of Fedora were diffused into so many spins. I can see a GNOME / Silverblue / Flatpak desktop, a KDE desktop, SOAS and the Atomic host / CoreOS / container image line, but the rest of them seem to be very limited in users. And you can make any desktop you want from the “everything” workstation media. If this is what a “strategic re-direction” is, I’m all for it!

Servers? How many people run Fedora as a server? If you look at AWS, Ubuntu’s the most popular by a wide margin, and the rest mostly are Amazon’s own Amazon Linux and CentOS. Debian is a struggling number four.


#6

You used twice the possessive form of “Fedora”, which is in violation of the trademark usage guidelines: https://fedoraproject.org/wiki/Legal:Trademark_guidelines#Trademark_Usage_Guidelines
(or can we maybe finally get this ridiculous restriction dropped from the trademark usage guidelines instead?)

And I think you really need to clarify what level of ability to use the Fedora trademark is approved under what conditions, and how you will promote the different Solutions compared to each other. Your announcement can be interpreted as putting more restrictions on Spins (maybe even on Remixes), or the exact opposite. Without knowing what the terms and conditions will actually be, the announcement is meaningless.


#7

@kkofler The trademark guidelines desperately need a refresh. We’re talking to legal about that.

The intention is that Spins and other within-the-project solutions will have less restrictions. You’re right that the details are still to be determined. That’s okay — deciding those in a closed meeting and declaring them wouldn’t be the Fedora way.

But, really, we want each team to be more free to provide solutions that they see their users needing. As a specific example, we talked about KDE dropping SELinux if that’s not serving that spin’s needs.


#8

Servers? How many people run Fedora as a server?

About 20% of Fedora OS users use our offerings in some server context. That includes everything from home use to high-scale production. And that’s not even considering EPEL, which is also a Fedora offering and which has many, many users.

If you look at AWS, Ubuntu’s the most popular by a wide margin, and the rest mostly are Amazon’s own Amazon Linux and CentOS. Debian is a struggling number four.

Be careful what numbers you are looking at. The main basis for that claim actually looks not at running systems but at number of images available. Ubuntu stumbled into a marketing windfall here, because they upload huge numbers of test images and leave them there forever. Additionally, Bitnami, which is built on Ubuntu, generates even more. This doesn’t correspond to any meaningful number on usage.


#9

#10

#11

About 20% of Fedora OS users use our offerings in some server context. That
includes everything from home use to high-scale production. And that’s not
even considering EPEL, which is also a Fedora offering and which has
many, many users.

While I am certainly among this group (Though I don’t actually use Fedora
Server, I use Fedora Base and then install what I want, Server has weird stuff
like Cockpit by default), where does this 20% come from? As far as I am aware,
Anaconda doesn’t ping some endpoint to let us know an installation has
occurred.


#12

Another clarification that would be welcome: is

really intended to mean that Solutions are encouraged to host their entire documentation and issue tracker on third-party proprietary infrastructure at Microsoft, as the Silverblue team seems to interpret this statement?

If it is, I think this is a major strategic mistake that needs to be corrected! But I hope that this is just a misunderstanding!


#13

20% is an estimate based on download stats and backed up by anecdotal evidence and conversations. We also had a natural experiment with F28, where the modular repo was turned on for Fedora Server but nothing else, and this backs that up. The number might even be a little low. I’d like to get more detailed stats in the future.


#14

really intended to mean that Solutions are encouraged to host their entire documentation and issue tracker on third-party proprietary infrastructure at Microsoft, as the Silverblue team seems to interpret this statement?

As long as the actual process is open and transparent, I don’t care so much about the hosting. That’s really not a core competency for us. We tried with Fedora Hosted, and that didn’t really go anywhere. And pagure.io is nifty, but a) it’s not a Fedora service either, and b) it’s just plain not winning in the marketplace of ideas and we don’t have tons of resources to pour into it. I do want output documentation to land on https://docs.fedoraproject.org/.

I’m not scared of the Microsoft part. It’s a big company, but there are definitely many people there who really do get open source and free software. I’m not at all happy about GitHub as a proprietary service, but there are some undeniable advantages to the network effect, which is especially powerful for things like documentation. (Even GitLab can’t compete here.) There are a lot of open source projects hosted on GitHub. I don’t think being a holdout really advances Fedora or Fedora’s cause. It ends up with us being a “I love what they’re doing for purity, but of course I don’t do the same myself” story. I like what KDE does with mirroring, and I’d like us to go to having a smart two-way mirroring bot — but I also don’t want to hold people up waiting for that theoretical thing to be made.

I strongly believe open source is better, but we need to bring people to that by offering a better value proposition, not by telling them they can’t play if they don’t understand. In the world today, people won’t say “oh, okay, I guess I’ll jump through these extra hoops and make things harder for myself and my users”. They’ll just go somewhere else. Then we have no influence at all. That’s not a win for Fedora or for making things more free software / open source friendly.


#15

Isn’t that what exactly using non-Free infrastructure amounts to? “I love Free Software for purity, but of course I don’t use it myself for the project itself.” The lack of “dogfooding” will really hurt our reputation in the long run.


#16

So, if we want to stick with Pagure, then do we need to get some Python coders from the community to pitch in and help get the Pagure team over their current hurdles?How does one go about doing that in the Fedora community of user?
And are they actually wanting some help?


#17

I don’t think being a holdout really advances Fedora or Fedora’s cause. It ends up with us being a “I love what they’re doing for purity, but of course I don’t do the same myself” story.

Isn’t that what exactly using non-Free infrastructure amounts to? “I love Free Software for purity, but of course I don’t use it myself for the project itself.”

If our stance was “I love Free Software for purity”, then, maybe. But I don’t think that’s ever been our position. We love free free and open source software for many reasons, both practical and principled. But we don’t tell people that they can’t run non-free software on Fedora. And we don’t, I hope, make people feel bad when they choose to (or need to!) use that software. That approach doesn’t actually convince people, and I don’t think it really gives us the reputation we want.

The lack of “dogfooding” will really hurt our reputation in the long run.

We should “dogfood” our own stuff. But we can’t possibly be held responsible for solving every problem in the world. And especially we can’t stop every time we hit such a problem and block ourselves from providing an awesome entirely free and open source Linux distribution.

Even the purity argument seems a bit forced. Huge portions of the code that makes up the Fedora distribution are developed by upstream projects using GitHub, Trello, Jira, and other proprietary tools. If purity were our goal, we’d have to cut all of those out. I hope we can agree that that would be less than useful. We should definitely encourage and support alternatives — e.g. we’re paying for hosted Taiga, as well as Discourse (which is 100% free and open source). But we also shouldn’t shut people out when they choose otherwise.


#18

And we don’t, I hope, make people feel bad when they choose to (or need to!)
use that software. That approach doesn’t actually convince people, and I
don’t think it really gives us the reputation we want.

I can think of very few situations where one would need to run proprietary
software, outside of firmware on some devices. Fedora has always been an
excellent example of this, and it’s one of the many reasons I use Fedora.

In fact, there’s so little non-free software in Fedora that I was able to
create a completely free Remix of Fedora with only one package, which
conflicts with non-free firmware in Fedora. This idea is nothing new, in fact
I based mine heavily on some of the work of the Linux-libre project’s freed-
ora-freedom.

Surely, while having a distro which is so close to being wholly free, we
should, rather than suddenly turning people further towards proprietary
software, make a stand for our own values. The very first, and, in my opinion,
the most important, of the Four Foundations is Freedom. Fedora is an excellent
example of the fact that you don’t need proprietary software.

Even the purity argument seems a bit forced. Huge portions of the code that
makes up the Fedora distribution are developed by upstream projects using
GitHub, Trello, Jira, and other proprietary tools. If purity were our goal,
we’d have to cut all of those out. I hope we can agree that that would be
less than useful. We should definitely encourage and support alternatives —
e.g. we’re paying for hosted Taiga, as well as Discourse (which is 100%
free and open source). But we also shouldn’t shut people out when they
choose otherwise.

As long as the upstream code itself is free software, it is not a problem that
they use proprietary software to manage it. The simple fact that upstream
decided to use proprietary services shouldn’t have an impact on our decisions
downstream. We have our own infrastructure already, perhaps they did not, or
were not tied to a project which had infrastructure already. We can have
“purity” without upstream also being “pure”, so long as our own projects and/
or forks of upstream are hosted on infrastructure that either we control or
that is not centralized on a service we do not control.


#19

I do think that purity is an essential part of the Freedom goal. After all, we do not ship any non-Free software out of principle and point our users to third-party repositories for it.

But even if we prefer Free Software for practical reasons, why would those practical reasons not apply to our own infrastructure? Handing out control to a proprietary web service is particularly scary because such a web service can have essential features removed, become prohibitively expensive, or even be turned off altogether (see, e.g., Google Code) at any time.

But that doesn’t imply that we should happily use it to develop Fedora itself, when we wouldn’t even ship such software (and rightfully so). (Not that GitHub would be something we could “ship” to begin with, technically.)

But we don’t need to solve that problem again. We already have Pagure. And if Pagure is too much work to maintain, then we should really consider Trac again, as well as other mature alternatives out there. But surely GitHub is not something we have no Free alternatives to and would need to develop our own from scratch.

I am also very unhappy about upstreams using proprietary infrastructure to develop their Free Software. For example, I was one of those KDE developers who complained loudly when Qt chose JIRA as their bug tracker (unfortunately in vain, as they still use that PITA). But these are issues to be taken up with the respective upstream, as it is their decision. The infrastructure used to host the Fedora project’s own work (and that also goes for subprojects’ work) is the Fedora project’s decision, though. There is no upstream to put the blame on in this case.


#20

As of a week or so ago, I’m down to one non-free must-have - the NVidia proprietary drivers. Nouveau has never worked on my 1050Ti and there’s no reason to expect it to ever do so. But I’ve managed to find everything else I need in Silverblue.