Fedora Release Life Cycle

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(major rework including consolidation of Releases/Schedule and Time_based_release_schedule)
Line 1: Line 1:
= Lifecycle and Maintenance of Fedora =
+
__TOC__
  
In practice, Fedora releases a new version about every 6 months and provides updated packages (maintenance) for about 13 months.  This allows users to "skip a release" while still being able to always have a system that is under maintenance. You can find information on the project releases at [[Releases/Schedule|  Fedora Release Schedule]] .
+
The Fedora Project releases a new version of Fedora about every 6 months and provides updated packages (maintenance) to these releases for about 13 months.  This allows users to "skip a release" while still being able to always have a system that is still receiving updates.  
  
We say ''about 13 months'' because the supported period for released releases is dependent on the date the release under development goes final.  As a result, ''Release X'' is supported until one month after the release of ''Release X+2''.
+
= Development Schedule =
 +
 
 +
We say developed and released ''about every 6 months'' because like many things--they don't always go exactly as planned.
 +
 
 +
The schedule for the release currently under development, {{FedoraVersion|full|next}}, is on its [[Releases/{{FedoraVersion||next}}/Schedule| release schedule]] page. Test and General Availability (final) releases happen at 10:00am Eastern US Time, which is either 1500UTC or 1400UTC depending on when daylight savings effect.
 +
 
 +
== Schedule Methodology ==
 +
 
 +
Fedora release schedules are proposed by the Release Engineering team and ratified by [[FESCo | Fedora Engineering Steering Committee (FESCo)]].  FESCo is responsible for overseeing the technical direction of the Fedora distribution.  A core schedule is built around key milestones in a Fedora that Release Engineering is able to support by building the distribution for public release on those dates.
 +
 
 +
{|border="1"
 +
!Task/Milestone !!  When !! Length
 +
|-
 +
| Feature Acceptance Deadline || Two weeks before Feature Freeze || n/a
 +
|-
 +
| [[ReleaseEngineering/FeatureFreezePolicy|  Feature Freeze]] || 1 week before Alpha Freeze || Until GA
 +
|-
 +
| [[Alpha_Freeze_Policy|  Alpha Freeze]] || One week after Feature Freeze  || 2 weeks
 +
|-
 +
| [[ReleaseEngineering/StringFreezePolicy|  String Freeze]] || Same time as Alpha Freeze || Until GA
 +
|-
 +
| Alpha Public Public Testing || After Alpha Freeze || 4 Weeks
 +
|-
 +
| [[ReleaseEngineering/FinalFreezePolicy|  Beta Freeze]] || After Alpha Public Testing || Until GA
 +
|-
 +
| Beta Public Public Testing || After Beta Freeze || 3 Weeks
 +
|-
 +
| Compose RC || Two Days after end of Beta Public Testing || 1 Day
 +
|-
 +
| Test RC || After Compose RC || 1 week
 +
|-
 +
| GA Release || Six days after Test RC ends || n/a
 +
|-
 +
| End of Life || One month after GA of current release + 2 releases || ~13 Months
 +
|-
 +
|}
 +
 
 +
== Development Schedule Rationale ==
 +
 
 +
Fedora generally develops new releases over a six month period to provide a regular and predictable release schedule. The bi-annual targeted release dates are ''May Day'' (May 1st) and ''Halloween'' (October 31) making them easy to remember and avoiding significant holiday breaks.  Changes to this standard must be approved by the community-elected [[FESCo | Fedora Engineering Steering Committee (FESCo)]].
 +
 
 +
A six month release schedule also follows the precedence of Red Hat Linux (precursor to Fedora).  Former Red Hat software engineer Havoc Pennington offers a historical perspective [http://article.gmane.org/gmane.linux.redhat.fedora.advisory-board/1475/ here].  GNOME started following a time based release based on the ideas and success of Red Hat Linux and others distribution following Fedora having adopted a similar release cycle too. Several other major components including the Linux kernel, Openoffice.org, Xorg have started following a time based release schedule too. While the exact release schedules vary between these components and other upstream projects, the interactions between these components and Fedora makes a six month time based release schedule a good balance.
 +
 
 +
== Schedule Contingency Planning ==
 +
If it becomes readily evident, based on the input from representatives of FESCo, Release Engineering, and Quality Assurance that ''any'' of the following milestones will not be met, one week will be added to all remaining scheduled milestones and dependent tasks--including the final release date:
 +
* Public Alpha Release
 +
* Public Beta Release
 +
* Public Final Release
 +
 
 +
One week is the added to the schedule to maintain the practice of releasing on Tuesdays.  Tuesdays are the designated release day because they are good days for news coverage and the established day we synchronize our content with the mirrors that carry our releases.
 +
 
 +
= Maintenance Schedule =
 +
We say maintained for ''about 13 months'' because the supported period for released releases is dependent on the date the release under development goes final.  As a result, ''Release X'' is supported until one month after the release of ''Release X+2''.
  
 
This translates into:
 
This translates into:
Line 10: Line 62:
 
* {{FedoraVersion|long|current}} will be maintained until 1 month after the release of {{FedoraVersion|long|next2}}.
 
* {{FedoraVersion|long|current}} will be maintained until 1 month after the release of {{FedoraVersion|long|next2}}.
  
== Maintenance Rationale ==
+
== Maintenance Schedule Rationale ==
  
 
Fedora is [[Objectives | focused]] on free and open source software [[Red Hat contributions | innovations]] and moves quickly. If you want a distribution that moves slower but has a longer lifecycle, Red Hat Enterprise Linux, which is derivative of Fedora or free rebuilds of that such as CentOS might be more suitable for you. Refer to the [[RHEL]] page for more details.
 
Fedora is [[Objectives | focused]] on free and open source software [[Red Hat contributions | innovations]] and moves quickly. If you want a distribution that moves slower but has a longer lifecycle, Red Hat Enterprise Linux, which is derivative of Fedora or free rebuilds of that such as CentOS might be more suitable for you. Refer to the [[RHEL]] page for more details.
  
Historically, the Fedora Project has found supporting two releases plus a release under development to be manageable work load.
+
Historically, the Fedora Project has found supporting two releases plus a release under development to be a manageable work load.
  
== Release Information ==
+
= Additional Release Schedule Information =
 
* [[Releases | Currently Supported Releases]]
 
* [[Releases | Currently Supported Releases]]
 
* [[End of life | Unsupported Releases]]
 
* [[End of life | Unsupported Releases]]
 
* [[Releases/HistoricalSchedules | Historical Release Information]]
 
* [[Releases/HistoricalSchedules | Historical Release Information]]
 +
 +
[[Category:Distribution]]

Revision as of 00:12, 18 September 2009

Contents


The Fedora Project releases a new version of Fedora about every 6 months and provides updated packages (maintenance) to these releases for about 13 months. This allows users to "skip a release" while still being able to always have a system that is still receiving updates.

Development Schedule

We say developed and released about every 6 months because like many things--they don't always go exactly as planned.

The schedule for the release currently under development, Fedora 21 (TBA), is on its release schedule page. Test and General Availability (final) releases happen at 10:00am Eastern US Time, which is either 1500UTC or 1400UTC depending on when daylight savings effect.

Schedule Methodology

Fedora release schedules are proposed by the Release Engineering team and ratified by Fedora Engineering Steering Committee (FESCo). FESCo is responsible for overseeing the technical direction of the Fedora distribution. A core schedule is built around key milestones in a Fedora that Release Engineering is able to support by building the distribution for public release on those dates.

Task/Milestone When Length
Feature Acceptance Deadline Two weeks before Feature Freeze n/a
Feature Freeze 1 week before Alpha Freeze Until GA
Alpha Freeze One week after Feature Freeze 2 weeks
String Freeze Same time as Alpha Freeze Until GA
Alpha Public Public Testing After Alpha Freeze 4 Weeks
Beta Freeze After Alpha Public Testing Until GA
Beta Public Public Testing After Beta Freeze 3 Weeks
Compose RC Two Days after end of Beta Public Testing 1 Day
Test RC After Compose RC 1 week
GA Release Six days after Test RC ends n/a
End of Life One month after GA of current release + 2 releases ~13 Months

Development Schedule Rationale

Fedora generally develops new releases over a six month period to provide a regular and predictable release schedule. The bi-annual targeted release dates are May Day (May 1st) and Halloween (October 31) making them easy to remember and avoiding significant holiday breaks. Changes to this standard must be approved by the community-elected Fedora Engineering Steering Committee (FESCo).

A six month release schedule also follows the precedence of Red Hat Linux (precursor to Fedora). Former Red Hat software engineer Havoc Pennington offers a historical perspective here. GNOME started following a time based release based on the ideas and success of Red Hat Linux and others distribution following Fedora having adopted a similar release cycle too. Several other major components including the Linux kernel, Openoffice.org, Xorg have started following a time based release schedule too. While the exact release schedules vary between these components and other upstream projects, the interactions between these components and Fedora makes a six month time based release schedule a good balance.

Schedule Contingency Planning

If it becomes readily evident, based on the input from representatives of FESCo, Release Engineering, and Quality Assurance that any of the following milestones will not be met, one week will be added to all remaining scheduled milestones and dependent tasks--including the final release date:

  • Public Alpha Release
  • Public Beta Release
  • Public Final Release

One week is the added to the schedule to maintain the practice of releasing on Tuesdays. Tuesdays are the designated release day because they are good days for news coverage and the established day we synchronize our content with the mirrors that carry our releases.

Maintenance Schedule

We say maintained for about 13 months because the supported period for released releases is dependent on the date the release under development goes final. As a result, Release X is supported until one month after the release of Release X+2.

This translates into:

  • Fedora 19 will be maintained until 1 month after the release of Fedora 21.
  • Fedora 20 will be maintained until 1 month after the release of Fedora 22.

Maintenance Schedule Rationale

Fedora is focused on free and open source software innovations and moves quickly. If you want a distribution that moves slower but has a longer lifecycle, Red Hat Enterprise Linux, which is derivative of Fedora or free rebuilds of that such as CentOS might be more suitable for you. Refer to the RHEL page for more details.

Historically, the Fedora Project has found supporting two releases plus a release under development to be a manageable work load.

Additional Release Schedule Information