LWN.net Logo

Can Fedora Ship on Time?

August 31, 2010

This article was contributed by Joe 'Zonker' Brockmeier.

If a Fedora release has been on schedule throughout the entire development process, it hasn't been in recent memory. Fedora Project Leader Jared Smith's announcement that Fedora 14 would suffer a one week slip came as no surprise, but sparked a long discussion on the fedora-devel list about the project's long history of schedule slippage.

Mike McGrath compiled an extensive list of Fedora slips, but it's by no means complete. A quick trip to Google shows that every release since Fedora Core 4 has suffered a slip of at least a week. Reasons for the slippage vary by release, but the blocker for Fedora 14 Alpha was the inability to choose the basic vesa driver when booting and after installation.

The specific cause may not be that important, however. John Poelstra points out that every release has different blockers:

Anecdotally, what happened in this release is not unusual. Each release we have these "this shouldn't ever happen again" items and while they have different names the reasons are almost always the same -- landing changes to packages or infrastructure right on the deadline or not budgeting enough time to recover before the deadline if something goes wrong.

One example may be large changes that derail other system components. Bruno Wolff III cites Python and systemd as major causes for delays, and suggests that "big changes" land a month earlier for easier testing.

Some distributions have different schedules for different components. openSUSE, for example, has different freeze dates for the toolchain, base system, and remainder of the system. In theory this means that the pieces with the greatest impact on the rest of the system are stabilized first and allow for testing of other components without breakage going on "underneath" them. In practice, Adam Williamson says that it's rare for the blocker bugs to reside in the core components in Fedora.

But Fedora does have critical path packages that could be frozen earlier in the schedule. This would include components like Anaconda, GNU Bash, GCC, Grub, the kernel, X.org, RPM, Yum, and many others.

Smith offered three suggestions starting with documenting the reasons for failure, as Poelstra has already been doing. Poelstra has a detailed list of things that have worked well and those that have not with the Fedora 14 release so far. Some of the problems Poelstra has identified include the Koji outage on July 10 and 11, and a need for redundancy on the Release Engineering team. Smith called for more work to document failures (and presumably successes) to try to address them in future releases.

Secondly, Smith called on the Fedora Engineering Steering Committee (FESCo) to "take a more active role in tracking the major changes that land in the distribution and judging the impact that they might have before freezes." Smith noted that Python and systemd weren't the blockers for F14 Alpha, but "had an impact on our ability to build test composes, and also our ability to thoroughly test the RCs" before evaluating the release.

Lastly, Smith asked for contributors to help the Quality Assurance (QA) team with automated testing, as too much is being done manually — and Fedora does not have the resources for extensive manual testing. Fedora has been boosting its testing efforts lately with the "proven testers," who are specifically focusing on the critical path packages. Fedora 13 was the first cycle that had the proven testers at the helm, and F13 slipped as well. However, one of the goals for the team is to recruit more people for testing, which may help in the long run.

Other posters suggested extending the release cycle, some by just a month, others suggesting a nine to 12 month cycle, but this was not met with a great deal of enthusiasm. Will Woods argued against it, saying that no matter how long the cycle was, it wouldn't "stop people trying to cram fixes/changes in at the last minute." As with Smith and others, Woods suggested "better tools and processes" rather than longer development cycles.

How long are the freezes? Users outside the development process may be surprised at how short they are. Peter Jones noted that it depends a great deal on where one starts counting. From development start to feature freeze, the freeze was 43 days for F12, 53 days for F13, and 63 days for F14 — including holidays that fell within the development cycle. From development start to alpha freeze, F13 had 84 days, F12 only 76 days, and F14 just 70 days. In the end, Jones says that "from computing these numbers I think the best lesson is that our schedules have been so completely volatile that it's very difficult to claim they support any reasonable conclusions." Given the frequent changes to the development process for Fedora, there's something to be said for that conclusion.

In the end, are the slips really a major problem for Fedora? Williamson points out that the releases are still "reasonably fixed" with less than a two weeks slippage on the last three releases of Fedora. Others have chimed in to say the process isn't broken, and that slipping to fix issues "is a feature not a bug."

While that might sound glib, there's some validity to it as well. Fedora long suffered from a bad reputation for pushing out releases with serious, sometimes show-stopping bugs. The latest releases have been, if not perfect, of much higher quality. What of the arguments that Fedora is less dependable for "a project manager looking at using a Linux OS in my project" or that it's losing users due to slips? Fedora's relatively short lifecycle after being released makes it an unlikely candidate for many projects even if it were on time. At any rate, Fedora's release cycle is fairly dependable — it can be expected that the release will slip by a few weeks past the scheduled date, but not much beyond that. The suggestion that Fedora is "losing users" over a few weeks of slippage is also unsupported.

Nothing final has been put into place yet, but it does look like the Fedora developers are taking the slips seriously. Over the years, the Fedora community has been aggressive about improving its development processes and addressing perceived issues with the Fedora distribution. If the community remains concerned and focused on avoiding slips, it just might be that Fedora 15 arrives as scheduled. But if it's a choice of quality vs. meeting the schedule, the slips aren't so bad.


(Log in to post comments)

Can Fedora Ship on Time?

Posted Sep 2, 2010 16:49 UTC (Thu) by jengelh (subscriber, #33263) [Link]

Well if every release slips, they once again align nicely :-)

>it wouldn't "stop people trying to cram fixes/changes in at the last minute."

Strange. The kernel has a working stoppage model. (Linus and the "1-week" merge window.)

>Fedora's relatively short lifecycle after being released makes it an unlikely candidate for many projects even if it were on time.

Being on time is *everything* and the only thing that counts. Time is money, remember. Ubuntu has the same neckbreaking pace and arguably even less of a QA base, but they force it out the door on time.

Can Fedora Ship on Time?

Posted Sep 2, 2010 18:26 UTC (Thu) by jspaleta (subscriber, #50639) [Link]

Apples to oranges comparison..or is it an blueberry to eggplant comparison.

Ubuntu's time based development model strongly leverages Debian's much looser development model. It could be argued that the very loose development model that Debian has is a pre-condition for Ubuntu to exist at all. You really can't hold up Ubuntu's development model by itself as a workable model in-and-of-itself. To understand the how's and why's of the Ubuntu workflow, you have to incorporate Debian's development model as Ubuntu is a derived distribution which rebases from Debian.

-jef

Can Fedora Ship on Time?

Posted Sep 2, 2010 22:27 UTC (Thu) by smoogen (subscriber, #97) [Link]

Doesn't Ubuntu have a whole month to hit its target? That might work better for Fedora too.. instead of saying that the release will be October 15th, 2010.. it says October 2010 but try to hit October 1st and slip til October 30th. [If I am misunderstanding the Ubuntu schedule.. my apologies in advance.]

Can Fedora Ship on Time?

Posted Sep 2, 2010 22:55 UTC (Thu) by jspaleta (subscriber, #50639) [Link]

That could be argued that normally yes the month is the publicly communicated target for final release. But I think they have hard dates inside the process they shoot for, so you'd have to do an historic analysis of those interior dates.

For 10.10 they are specifically trying to hit 10.10 as a release date.

-jef

Can Fedora Ship on Time?

Posted Sep 5, 2010 10:13 UTC (Sun) by drago01 (subscriber, #50715) [Link]

The fact that we slip is a *feature* IMO not a bug. Whats the point in trying to force a deadline and provide less features or more bugs for the sake of avoiding a one or two week slip?

None? OK so nothing to see here move on ...

Can Fedora Ship on Time?

Posted Sep 6, 2010 13:39 UTC (Mon) by mmcgrath (guest, #44906) [Link]

Because in the real world we're expected to set and keep deadlines. Anything less then that is amateur.

Can Fedora Ship on Time?

Posted Sep 6, 2010 13:52 UTC (Mon) by mmcgrath (guest, #44906) [Link]

I should be more clear here. Trying to force a deadline is only part of the problem. You're looking at the deadline as the problem and generally it's not.

Missing a deadline is a symptom of the problem:

1) Changes get made later in the cycle instead earlier.
2) We try to cram too much stuff into a release

The stance that slipping is a feature opposed to just forcing a deadline would be true if people if people were arguing for forcing a deadline but AFAIK no one is. What the discussion is about is how to fix 1 and 2 above so we make the deadline naturally.

Can Fedora Ship on Time?

Posted Sep 7, 2010 18:27 UTC (Tue) by drago01 (subscriber, #50715) [Link]

No it is not amateur at all. How is slipping ONE OR TWO WEEKS because we found an undressed bug is being "amateur" ?

Amateur would be if we keep slipping with no end in sight "one more week, one more week, one more month" or if we ignored the bug and said "but but the deadline is in 2 days we have to ship on time".

That being said yeah it does make sense to try to avoid that "last minute bugs" but when they happen (and they will sometimes) it isn't the end of the world like some are viewing it.

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds