The Forgotten “F”: A Tale of Fedora’s Foundations

Lately, I’ve been thinking a lot about Fedora’s Foundations: “Freedom, Friends, Features, First”, particularly in relation to some very sticky questions about where certain things fit (such as third-party repositories, free and non-free web services, etc.)

Many of these discussions get hung up on wildly different interpretations of what the “Freedom” Foundation means. First, I’ll reproduce the exact text of the “Freedom” Foundation:

“Freedom represents dedication to free software and content. We believe that advancing software and content freedom is a central goal for the Fedora Project, and that we should accomplish that goal through the use of the software and content we promote. By including free alternatives to proprietary code and content, we can improve the overall state of free and open source software and content, and limit the effects of proprietary or patent encumbered code on the Project. Sometimes this goal prevents us from taking the easy way out by including proprietary or patent encumbered software in Fedora, or using those kinds of products in our other project work. But by concentrating on the free software and content we provide and promote, the end result is that we are able to provide: releases that are predictable and 100% legally redistributable for everyone; innovation in free and open source software that can equal or exceed closed source or proprietary solutions; and, a completely free project that anyone can emulate or copy in whole or in part for their own purposes.”

The language in this Foundation is sometimes dangerously unclear. For example, it pretty much explicitly forbids the use of non-free components in the creation of Fedora (sorry, folks: you can’t use Photoshop to create your package icon!). At the same time, we regularly allow the packaging of software that can interoperate with non-free software; we allow Pidgin and other IM clients to talk to Google and AOL, we allow email clients to connect to Microsoft Exchange, etc. The real problem is that every time a question comes up against the Freedom Foundation, Fedora contributors diverge into two armed camps: the hard-liners who believe that Fedora should never under any circumstances work (interoperate) with proprietary services and the the folks who believe that such a hard-line approach is a path to irrelevance.

To make things clear: I’m personally closer to the second camp than the first. In fact, in keeping with the subject of this post, I’d like to suggest a fifth Foundation, one to ultimately supersede all the rest: “Functional”. Here’s a straw-man phrasing of this proposal:

Functional means that the Fedora community recognizes this to be the ultimate truth: the purpose of an operating system is to enable its users to accomplish the set of tasks they need to perform.

With this in place, it would admittedly water down the Freedom Foundation slightly. “Freedom” would essentially be reduced to: the tools to reproduce the Fedora Build Environment and all packages (source and binary) shipped from this build system must use a compatible open-source license and not be patent-encumbered. Fedora would strive to always provide and promote open-source alternatives to existing (or emerging) proprietary technologies, but accepts that attracting users means not telling them that they must change all of their tools to do so).

The “Functional” Foundation should be placed above the other four and be the goal-post that we measure decisions against: “If we make this change, are we reducing our users’ ability to work with the software they want/need to?”. Any time the answer to that question would be “yes”, we have to recognize that this translates into lost users (or at the very least, users that are working around our intentions).

Now, let me be further clear on this: I am not in any way advocating the use of closed-source software or services. I am not suggesting that we start carrying patent-encumbered software. I think it is absolutely the mission of Fedora to show people that FOSS is the better long-term solution. However, in my experience a person who is exposed to open source and allowed to migrate in their own time is one who is more likely to become a lifelong supporter. A person who is told “if you switch to Fedora, you must stop using Application X” is a person who is not running Fedora.


8 thoughts on “The Forgotten “F”: A Tale of Fedora’s Foundations

  1. Let’s think of this in terms of the great wireless mess of 2006ish. Fedora took a pretty hard line there, many others didn’t. I have absolutely no doubt that the actions of Fedora put us where we are today. Most wireless cards work out of the box.

    If everyone had stuck with just using “what works” I fear what things would look like today (I seriously doubt we’d see many cards work out of the box).

    If you need to add another foundation, add Fun, you can’t have functional without fun! Functionality isn’t an ends by itself, it’s the result of great people doing great things.

  2. I agree with the content of this post, but I fear sometimes Open Source (or a change of behaviour) is synonym of “this is too difficult for me”. In this case, there are lots of distro which could fit this kind of computing better (think about Ubuntu or Mint).

    What I’m trying to say, is that Fedora somehow forces you to learn more about some technologies nor tricks for everyday use.

    Let’s try to clarify it with an example… In the past, if I had used another distro, I’d never have discovered the reliability of vgaswitcheroo and would have sticked to Catalyst.

    1. Well, I’m wary of saying “let another distro do this”, because that often results in “$OTHERDISTRO is getting all the users!”. I think that we certainly want to have a plan for bringing new users directly into Fedora.

      The problem with Fedora forcing you to learn how to do things the Fedora way is that this only works if you already have a desire to do things that way. If instead you want (for a topical example) to switch away from your now-out-of-support Windows XP machine without buying new hardware, Fedora is *not* the distro you’re likely to pick. Once people pick a distro, very few end up migrating. The people who do jump around are generally from the very small and self-selected group that made the initial decision to use Linux out of idealogical reasons, not those that did it for technical ones.

      1. I always take the “Fedora forcing you to learn how to do things the Fedora way” as a chance to learn something new.

        But yeah, as you said, this is not what lots of users expect…

  3. Honestly I don’t really get your point, you say: “I am not in any way advocating the use of closed-source software or services. I am not suggesting that we start carrying patent-encumbered software.”

    And then there are statements like ” A person who is told “if you switch to Fedora, you must stop using Application X” is a person who is not running Fedora.” and in one of the comments you write “Well, I’m wary of saying “let another distro do this”, because that often results in “$OTHERDISTRO is getting all the users!”. I think that we certainly want to have a plan for bringing new users directly into Fedora.”

    So what is your goal? Do you want to add non-free software to get some more users (where it is imho not given that it will lead to more users)? Or you don’t want advocate to add non-free software, like said in your article. Then I wonder what will actually change?

    Also I’m a little bit surprised by your last sentence: “A person who is told “if you switch to Fedora, you must stop using Application X” is a person who is not running Fedora.” Where does Fedora say that you have to stop using application X if you use Fedora? I never saw such a statement and also technically Fedora doesn’t stop you from installing any application you want.

    Personally I think Fedora does a great job with its distribution and the focus on free software with exceptions where it makes sense (non-free firmware).

    1. I think you misunderstand me. I’m certainly not suggesting that Fedora start shipping closed-source stuff in its repositories. I’m trying to say that the way we’re currently operating (covering our eyes with our hands, saying “la la la I can’t hear you” when talking about closed-source applications) isn’t providing a good environment for people who might be open to switching.

      Fedora doesn’t explicitly say “stop using application X” exactly. Instead, it makes sure that if you want to use that application, you need to be an expert on all the peculiarities of Fedora and be willing to experiment and Google search for workarounds. It’s not an outright statement, but it certainly paints a picture.

      I’m not at all saying that Fedora doesn’t do a great job with its distribution. We’ve done wonders and produced a pristine, perfect vision of what an open-source operating system ought to look like. But now I think it’s time to consider whether that’s actually serving the needs of anyone but open-source zealots. If we aren’t attracting other users with other needs, we’re stagnating. I think we need to look at what are the most common reasons why people don’t use Fedora (and “Fedora is only for die-hard open-source developers” is the most common one I hear).

  4. So what do you suggest exactly beside adding the additional ‘F’? Should Fedora have (more) information about rpmfusion on their documentation? Integrate something like rpmfusion into Fedora, similar to Debian’s non-free? Enable it even by default? I don’t see the practical steps/ideas in your blog. I would be really interested to learn more about the practical changes by the additional ‘F’.

    Generally I think I have a different perception than you regarding Fedora. But I’m only a user, so it is probably not surpirsing that we look at it from a different perspecitve. I wonder what target audience are we talking about. People who already use Debian, Ubuntu, SuSE,…? They probably know the concept of repositories and will find them easily. Also other distribution doesn’t ship everything so at some point you always have to add a additional repository or install from other sources?
    Or do you focus on Windows/Mac users who want to switch to Fedora as theirs first distribution? I think for this users it is quite common to search the internet for software and even for hardware drivers(!). Does Windows tells you where to find a PDF reader or the driver for your printer? No. So they should also be able to fine the right source for the additional software the want for Fedora. I don’t think the “Freedom” aspect add much to the already existing learning curve for this users.

  5. Hello. I am simply an end-user like pinky0x51. Mostly because I haven’t found any way in which I feel qualified or comfortable contributing. I have been proudly using Fedora since Fedora 8. When I made the switch to Linux it took me a few weeks to decide into which distro I wanted to invest my time learning to properly use.
    I am not a risk taker, but I do love a good challenge. Because of that first F I had to step a little out of my comfort zone and accept the challenge of finding alternatives to my normal lineup of programs. Only later did I realize some other wonderful people had provided some work arounds, and finding rpm-fusion was mind blowing.
    Not everyone will be as excited by the challenges and little victories like the ones I experienced. I wouldn’t expect them to be, honestly. But I do see a time, thanks to people like you sgallah and things like rolekit where new end-users will not be intimidated. Where a lot of people who are used to a “plug and play” os will be just as likely to use Fedora. I believe all off this will happen while sticking to the first F in spirit and in principle.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s