|
|
Log in / Subscribe / Register

What is Fedora?

By Jake Edge
October 28, 2009

We briefly looked in on the discussion on defining the Fedora project a few weeks back. Since that time, there has been more discussion—not surprising—but also a bit more clarity on exactly what needs to be defined. While it may seem like an unnecessary, abstract exercise to some, it is clear from the discussion that there are some in the community who are directly impacted by the lack of a good shared vision of "what is Fedora?", or, perhaps more accurately: "who are Fedora's target users?".

There are a number of issues that are swirling around in the threads on the fedora-advisory-board mailing list. In general, there is dissatisfaction among users of Fedora, even highly technical users, because of the rapid, often not very exhaustively tested upgrades that are part-and-parcel of the Fedora experience. Fedora has a commitment to providing "leading edge" software to its users, but, to many users, leading edge does not equate to non-functional or hard-to-use. Unfortunately, that is what Fedora is delivering too much of the time.

As an example of technical users who have moved away from Fedora, Máirín Duffy quotes a user who contacted her off-list. The user has multiple clients, most of whom are quite technical as well, but have moved from Fedora to other distributions over the last two years or so. Upgrade instability is a major reason:

One particular quote she gave me that I'd like to share:

"Fedora boasts of an "innovation" target audience but is falling down in the two areas real world (excepting perhaps games and CGI) high-innovation users demand: stable upgrades and consistent usability. I believe if your group can wrestle these back under control the distro numbers would increase dramatically."

In summary, having technical users as a target isn't a good excuse for instability and complexity.

But, there is a tension between the goal of providing the "latest and greatest" and the goal of providing something that is consistently usable. Seth Vidal, sums it up this way: "And this is the crux of our problem: fedora is for latest leading-edge pkgs. It's not easy or reasonable to have the latest of things AND have a stable interface for them." The sense from the discussion, though, is that Fedora may have gone too far in the "bleeding edge" direction and that being a bit more cautious with which software versions are delivered is warranted. Bill Nottingham sees the need for a balance:

We want to present the newest innovations to users, but not so new that they don't work. And we want to be focused on making it just work, so they don't have to run 500 arcane commands, cut and paste config snippets from the web, or jump through other hoops just to use that innovation. Nor do we want to be pushing new innovation to them so fast that they can't keep up with it, or find that their way of doing things changes from week to week during a release.

Mike McGrath brought up a subject that was clearly an undercurrent in the discussion, which he described as "the elephant in the room": Ubuntu. There is a sense that Fedora users, and potential users, are moving to, or starting out with, Ubuntu. There are good reasons for that, he said:

The problem? They are KILLING us. I'm not talking about market share, I'm talking about my recent converts from Fedora to Ubuntu. I haven't had to do a single thing to my wife's computer since I put Ubuntu on there except setup my printer. With Fedora I was on it almost daily.

Targeting new users is quite different than targeting new technology, though. There is a real question whether Fedora can do both. There are lessons to be learned from Ubuntu, however, as William Jon McCann points out:

Might be worth considering how Ubuntu was largely borne out of the failures of Fedora. What are they doing right? What are we doing wrong? How can we improve? There is very little time to continue to be defensive. It is time to confront the brutal facts - we're losing (badly).

Duffy finds something of a middle ground:

We don't need to target Ubuntu's user base in order to produce something excellent, something polished, something that is delightful to use and makes people's lives easier, something that impresses them such that they care about how it was made.

There is a fairly clear split in the Fedora community about where to focus the project's efforts. There are some who would like to see Fedora make the effort to stabilize to the point where attracting new, non-technical users would be possible. Whereas others see that as largely impossible while upholding the "innovation" that has been the hallmark of the distribution.

That split makes life difficult when folks try to determine a direction to take or how to prioritize their work. Duffy, who does much of the design work for Fedora, describes the split and its effect on her work:

The 2 views as I would summarize them are:

- Fedora is a beautiful, usable desktop for everyone (or at least, we're getting there.) Pandas are okay! We're ready to push to the masses.

- Fedora is a menagerie of equal spins for highly-technical folks and FOSS developers. Don't you dare insult our intelligence with pandas. Go back to Sesame street.

[...] The main issue from a design perspective is that if no target is defined, then the target becomes 'everybody' - and I personally feel it's impossible to make a top-notch, beautiful design when trying to please everybody.

Even determining the target user doesn't solve the underlying problems with stability, though, as Christopher Aillon points out:

If we want to target Fedora for any class of user, we need to think and act for the user. Right now, we're clearly not even acting for the people that do use our distribution. I think we should fix that before we can even begin to define what our target user should be.

The discussion, and the perceived need for a more stable system, led McGrath to make a "Desktop proposal". In it, he outlines the problems along with some potential solutions. As part of that, he would like see a new mission added to the "Fedora Mission": "Produce a usable, general purpose desktop operating system".

Putting "desktop", or even "operating system", into the mission didn't sit well with some, but the ideas in McGrath's proposal were largely met with approval. In many ways, he captured some of the thoughts that had been floating around in the threads. One problem that McGrath mentioned might be helped by Jesse Keating's idea for "No Frozen Rawhide" (as it has come to be called):

I plan to make rawhide more unstable more of the time, and I plan to make "rawhide" more stable more of the time. Crazy eh? How can I do this? By splitting "rawhide" in two.

The Fedora board took up the question of defining target users for Fedora in its October 22 meeting. Project leader Paul Frields reported on the meeting at some length, noting that the No Frozen Rawhide (or "unfrozen rawhide") proposal was looked at favorably. There was also discussion of how to ensure that updates are smoother for users. But the main point that came out of the meeting was a preliminary definition of Fedora's target users:

We found four defining characteristics that we believe best describe the Fedora distribution's target audience: Someone who (1) is voluntarily switching to Linux, (2) is familiar with computers, but is not necessarily a hacker or developer, (3) is likely to collaborate in some fashion when something's wrong with Fedora, and (4) wants to use Fedora for general productivity, either using desktop applications or a Web browser.

Much of what the board discussed will also be hashed out face-to-face at the Fedora Users and Developers Conference (FUDCon) in Toronto in early December.

The Fedora project is at a bit of a crossroads right now, but the project seems to be taking the right steps to determine which direction to take. Unlike other distributions, Fedora tends to have these conversations in public, which allows others to observe and learn from the process. While that may make some uncomfortable, it should make for a healthier community overall. In the end, community is really what Fedora is striving for, and an OS is just a means to that end.



to post comments

What is Fedora's competitor?

Posted Oct 29, 2009 3:44 UTC (Thu) by jonth (guest, #4008) [Link] (8 responses)

I think that Mike has missed the true elephant in the room: Debian. The reason Ubuntu manages to be such a compelling "out of the box" experience is that it takes 6-monthly snapshots of Debian "unstable" and then polishes it until it shines.

But "unstable" itself seems to pull off the trick that Rawhide does not: It moves fast, but is completely usable and very rarely broken. I don't know why it is able to do this: possibly it's down to something as simple as apt, or possibly it's the Debian policy. Either way, I believe it's important to understand that the true competitor to Fedora is Debian, not Ubuntu.

In other words, Debian->Ubuntu == Fedora->Redhat

What is Fedora's competitor?

Posted Oct 29, 2009 6:07 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link] (5 responses)

Rawhide tends to be even more bleeding edge since Fedora tends to do a lot more upstream development and tends to integrate upstream components directly very soon but yes, stabilizing the development branch of Fedora is part of the goal. A few important measures including splitting up the development repository via "no frozen rawhide" proposal and running automated tests via AutoQA project

https://fedorahosted.org/autoqa/

What is Fedora's competitor?

Posted Oct 29, 2009 6:31 UTC (Thu) by jonth (guest, #4008) [Link] (4 responses)

I guess that implies Rawhide is closer to Debian's "experimental," which really _isn't_ for the faint of heart.

What is Fedora's competitor?

Posted Oct 29, 2009 14:19 UTC (Thu) by cyperpunks (subscriber, #39406) [Link] (2 responses)

>I guess that implies Rawhide is closer to Debian's "experimental," which >really _isn't_ for the faint of heart.

Debian experimental == Fedora rawhide
Debian unstable == Fedora
Debian stable/Ubuntu == Red Hat Enterprise Linux

In fact a Fedora release is best at very end, when updates are slow and most bugs are fixed. However, then all of sudden: No more security patches for you! And you have move to the next release with are lot of bugs and new "features".

I miss the best distro I have ever used: Red Hat Linux.

Talk about elephants in rooms

Posted Nov 1, 2009 11:42 UTC (Sun) by man_ls (guest, #15091) [Link] (1 responses)

You are missing the most used by far Debian branch: Debian testing. It is ideal for desktop used, continuously updated and breaks seldom if ever: for me it's been several years of rock-solid desktop use, with a trickle of bugs that get fixed before stable. Now that it has security support there is really little to complain about. If Fedora needs a role model I would suggest they study Debian testing closely.

Talk about elephants in rooms

Posted Nov 1, 2009 17:06 UTC (Sun) by pabs (subscriber, #43278) [Link]

Debian ceased security support for testing after the release of lenny:

http://www.debian.org/releases/testing/
http://lists.debian.org/debian-testing-security-announce/...

AFAICT that hasn't resumed yet.

What is Fedora's competitor?

Posted Oct 29, 2009 14:34 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

I don't think repositories map 1:1 on like that. If you still want to compare, the new rawhide proposal creates two repositories that roughly map to experimental and unstable. Fedora release schedule is bi-yearly one with a ~13 months updates cycle.

RHEL is derived from a subset of Fedora packages (~2500 in EL vs 15,000 + in Fedora) and they are forked and maintained in parallel to Fedora releases for 7 to 10 years. So doesn't map to Debian well either since none of distributions (except for EL rebuilds) have such a long release cycle.

What is Fedora's competitor?

Posted Oct 29, 2009 12:41 UTC (Thu) by james_w (guest, #51167) [Link] (1 responses)

> But "unstable" itself seems to pull off the trick that Rawhide does not:
> It moves fast, but is completely usable and very rarely broken. I don't
> know why it is able to do this: possibly it's down to something as simple
> as apt, or possibly it's the Debian policy.

One thing is that a majority of developers (I believe the vast majority,
but I may be wrong), and lots of users run unstable all the time.

From the little I know from the outside it doesn't sound to me as though a
majority of Fedora developers and power users run rawhide, at least for a
large part of the cycle, is that the case?

Thanks,

James

What is Fedora's competitor?

Posted Oct 29, 2009 14:40 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

Yeah, that is a vicious cycle that feeds on itself. There are other reasons as well. With a short time based release cycle and updates that often include new features users get the latest stuff quickly and don't have to run Rawhide.

Fedora has multiple branches in parallel (Fedora 13 - Fedora 10 now for instance not counting EPEL 4 and EPEL 5) that you can't really keep track of all of the changes easily from a developer perspective.

What is Fedora?

Posted Oct 29, 2009 9:31 UTC (Thu) by mjthayer (guest, #39183) [Link] (6 responses)

I always wonder why Gentoo's way of handling this never caught on. They have the same three basic categories as everyone else - stable, unstable, experimental - and you can choose to run a stable distribution, but cherry-pick packages which interest you from unstable or experimental. You can even IIRC say that you want a specific package version from unstable, but not future versions which haven't yet entered that category, so that once the package moves back into stable your "exception" for the package will automatically go away again.

The second big thing that Gentoo does (other distributions, particularly Debian, can do the first to a greater or lesser extent) is that rather than having clearcut versions of the distribution as a whole, packages enter stable when they are deemed ready, so you always have the most up-to-date stable system you could reasonably expect.

Gentoo of course has the small matter that it is a source distribution, which rather offsets the convenience of this approach.

What is Fedora?

Posted Oct 29, 2009 10:04 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link] (3 responses)

The last point you mention is key to Gentoo's approach. It is ok to enable users to pull in selectively from a unstable repo but this approach does not really work well for packages with complex dependencies in a binary distribution.

If you do say, yum --enablerepo=rawhide update python to grab a new version of Python, you might be practically getting the entire development repo because every python program might be rebuild for a change in the ABI. A build with paths changed to install in parallel is a workaround in some cases but not always. Cherry picking "stable" versions is also problematic for similar reasons.

What is Fedora?

Posted Oct 29, 2009 10:18 UTC (Thu) by mjthayer (guest, #39183) [Link] (2 responses)

You are right that handling the ABI aspects would make this a major and long term project, involving a lot of upstream work. Albeit I think a worthwhile project. The autopackage people did a lot of good research into this; just a shame about their package format...

There are other aspects too - some people might have objected to an automatic upgrade e.g. from OpenOffice 2 to OpenOffice 3 when version 3 became stable, so that (the extra work of) maintaining both in parallel would make sense. This would probably be more relevant to distributions like RedHat than to Fedora though.

What is Fedora?

Posted Oct 29, 2009 10:45 UTC (Thu) by job (guest, #670) [Link] (1 responses)

Not necessarily, if you build the unstable packages from source. I believe dpkg can build a binary package from a source package and then install it.

If apt could have some knowledge about this, it wouldn't be hard to flag a package as from the unstable tree and let apt build it and the required dependencies from source.

I believe Arch does this

Posted Oct 29, 2009 13:51 UTC (Thu) by alex (subscriber, #1355) [Link]

I think this is the concept behind Arch's rolling release model.

Gentoo

Posted Oct 29, 2009 13:49 UTC (Thu) by alex (subscriber, #1355) [Link]

"They have the same three basic categories as everyone else - stable, unstable, experimental - and you can choose to run a stable distribution, but cherry-pick packages which interest you from unstable or experimental. You can even IIRC say that you want a specific package version from unstable, but not future versions which haven't yet entered that category, so that once the package moves back into stable your "exception" for the package will automatically go away again."

I must admit I run Gentoo on my desktop at home and have a split setup running a stable core and ~amd64 (unstable) applications where I want to closely follow the bleeding edge. I think what your describing for the series is the concept of unmasking a subset of releases ("give me all 1.6.* releases stable/unstable, but don't upgrade me to 1.7.*"). I must admit it's not something I take much advantage of as if I do have problems I typically just revert the application to the last stable build.

The only package that really causes me management headache is Xorg as it is heavily split up and generally has complex dependency requirements with the rest of the system.

What is Fedora?

Posted Nov 2, 2009 9:15 UTC (Mon) by njs (subscriber, #40338) [Link]

Debian, as usual, has this concept -- search for "pinning" -- but it's not as useful as it might sound, because of the dependency chains people mention. (OTOH, it works very well for pulling a few packages from unstable onto a mostly-testing box; you might pull down more than you planned, but it's all stuff that will eventually roll over into testing anyway, so you're unlikely to really destabilize your box, and eventually you'll end up back on pure testing.)

It's also quite easy to avoid those dependency chains in most cases by building an unstable source package by hand. (apt-get build-dep foo; apt-get source foo; dch --local ~blahblah.1; dpkg-buildpackage -b -uc; dpkg -i foo.deb)

Not as easy as gentoo, though :-)

What is Fedora?

Posted Nov 16, 2009 4:34 UTC (Mon) by willp (guest, #52971) [Link] (1 responses)

If stability is the number one reason people switch from Fedora to another distro, then why isn't the solution a more robust and thorough automated testing process for admission of updates into Fedora?

As a software developer, I understand the complexity of testing an entire ecosystem, but it's not really an unsolvable problem. If it means we need to put pressure upstream on developers to produce more unit-tests that are exercised as a part of a holistic testing approach, whenever a new release of a package is considered for inclusion... well, then that's a discussion that ought to happen.

The problem isn't "defining the target user". The problem is that Fedora eats itself sometimes, and yum update will crater your day. That is a fixable problem. But the fix is to avoid releasing broken software, not "marketing" spin.

What is Fedora?

Posted Nov 16, 2009 12:27 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

There is a effort to do precisely that.

https://fedorahosted.org/autoqa/

The audience discussion however is larger than just stability of updates.

Suggestion about Fedora's issues:

Posted Mar 29, 2010 20:28 UTC (Mon) by Suggestion (guest, #64829) [Link]

Some comments posted, seem to prefer ( the African word ) Ubuntu, or even something else, instead of Fedora, because of Fedora's bugs.

Why doesn't Fedora release TWO versions of a Release:

1. Release the LATEST version, AS A WORKING, TEST VERSION, and later,

2. Release a STABLE VERSION of a previous TEST VERSION,
that has been TESTED on the market for awhile.

- LOOK FOR GOD


Copyright © 2009, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds