From Fedora Project Wiki

< Fedora Release Life Cycle

Revision as of 11:15, 1 April 2019 by Hiwkby (talk | contribs) (和訳間違い修正)

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

Fedoraプロジェクトは、だいたい半年ごとに新しいバージョンをリリースし、だいたい13ヶ月間は更新されたパッケージ(保守管理する)を提供します。これは、ユーザに一つのリリースをスキップすることを許容しつつ、いつでもパッケージの更新を引き続き受けることができる仕組みを実現しています。

開発スケジュール(Development Schedule)

We say approximately every 6 months because like many things, they don't always go exactly as planned. The schedule is not strictly time-based, but a hybrid of time and quality. The milestone releases are tested for compliance with the Fedora Release Criteria, and releases will be delayed if this is not the case.

"だいたい半年ごと"と言いましたが、これは、概して、いつも計画通りに行かないからです。予定の基準は、時間に厳しくせず、時間と品質を織り交ぜています。節目のリリースでは、Fedora Release Criteria準拠のテスト済みであり、そうでない場合には、リリースが延期されます。

The schedule for the release currently under development, Fedora 40, is on its release schedule page. Beta, and General Availability (final) releases happen at 14:00 UTC.

開発真っ最中のリリースに向けたスケジュール(Fedora 40)は、リリーススケジュールのページにあります。β版と一般公開版(最終版)リリースは、14:00 UTCです。

開発計画の策定(Development Planning)

Fedora development planning is handled by the Release Planning Process. So-called Changes are proposed, initially reviewed, and monitored through the development process by the engineering steering committee.

Fedoraの開発計画は、Release Planning Processに従って制御されます。いわゆる変更が提案されると、最初にengineering steering committeeが、レビューし、開発中は、進捗管理されます。

開発の手順(Development Process)

Fedora uses a system involving two 'development' trees. Rawhide is a constantly rolling development tree. No releases are built directly from Rawhide. Approximately 10 weeks before the planned date of a Fedora release, a tree for that release is "Branched" from the Rawhide tree. At that point the Rawhide tree is moving towards the release after the new Branched release, and the pending release is stabilized in the Branched tree.

Fedoraは、二つの開発ツリーにまたがるシステムを使います。Rawhideは、常に開発中のツリーです。Rawhideから直接リリースビルドが作られることはないです。Fedoraのリリース日のだいたい10週間前になると、リリースのためのツリーが、Rawhideのツリーから"Branched"されます。

Idea.png
Birth of a Fedora
This means that development of a Fedora release is considered to begin at the time its predecessor branches from Rawhide. For instance, development on Fedora 40 began the day after Fedora 39 branched from Rawhide and entered the stabilization process.
Idea.png
Fedoraリリースの誕生
Fedoraのリリースに向けた開発は、Rawhideから枝分かれされた、リリースの前の状態から始まると解釈されます。例えば、Fedora 40の開発は、Fedora 39 がRawhideから枝分かれされた次の日に始まり、安定化に向けた流れがに入っています。


After the Bodhi activation point, the Bodhi system is permanently active on the Branched release (all the way until it goes EOL), and requirements for updates to be marked as stable are set out in the Updates Policy. Packages must go through the updates-testing repository for the release before entering its stable repository, according to rules defined in the updates policy: these rules tighten gradually from Beta through to post-GA (Final), but the basic process does not change.

Bodhiが有効にされた後には、Bodhiシステムは、Branchedリリースに対して、常に稼働し続けます(EOLまでずっと)。安定したと見なされるための更新についての要件は、Updates Policyに記載されています。パッケージは、stableレポジトリに入る前に、リリースのためのupdates-testingレポジトリを経由しなければなりません。これは、Updates Policyで定義されているルールによるものです。これらのルールは、β版から一般公開版(最終版)までの間徐々に厳しくなります。基本的な流れは変わりません。

For some time prior to a milestone (Beta, Final) release a freeze is in effect which prevents packages moving from updates-testing to stable except in accordance with the blocker and freeze exception bug policies. This freeze is lifted once the milestone is finished, and so packages begin to move from updates-testing to stable as normal again, until the next milestone's freeze date.

節目(β版や最終版)となりリリース前のしばらくの間は、freezeという状態が有効になります。blocker そして freeze exception バグポリシーに従わないパッケージをupdates-testing から stable に移動できません。

予定の立て方(Schedule Methodology)

Fedora release schedules are proposed by the Fedora Program Manager and ratified by the Fedora Engineering Steering Committee (FESCo), with input from other groups. FESCo is responsible for overseeing the technical direction of the Fedora distribution. A core schedule is created using the key tasks listed below. Detailed team schedules are built around these dates.

Note: When referring to Beta/Final Target, we refer to an planned date. When referring to Beta/Final release only, we refer to a date the release has actually happened.

Task/Milestone Start Day (Tuesdays or Thursdays) Length
Planning and Development Branch point of previous release plus one day Variable
Changes Checkpoint: Proposal deadline for Changes requiring Mass rebuild Tue: Mass rebuild minus 3 weeks n/a
Changes Checkpoint: Proposal deadline for System Wide Changes Tue: Mass rebuild minus 1 week n/a
Mass rebuild Branch point minus 5 weeks Until Branch point
Changes Checkpoint: Proposal deadline for Self Contained Changes Tue: Branch point minus 3 weeks n/a
Branch point Tue: Preferred Beta Release Target minus 5 weeks n/a
Changes Checkpoint: Completion deadline (testable) Tue: Same day as Branch point N/A
String Freeze Tue: Branch point plus 1 week Software String Freeze Policy in effect until Final Release (GA)
Bodhi activation point Tue: Preferred Beta Target minus 3 weeks, Same day as Beta Freeze Bodhi enabled and Updates_Policy requirements in effect until EOL
Beta Freeze Tue: Preferred Beta Target minus 3 weeks QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until Beta Release
Changes Checkpoint: 100% code complete deadline Tue: Same day as Beta Freeze N/A
Beta release candidates Any time after Beta Freeze Until Beta Release
Beta Go_No_Go_Meeting Thu @ 13:00 E{D,S}T: planned Preferred Beta Target minus five days (repeats if No-Go) n/a
Preferred Beta Target Tue: Preferred Final Target minus 5 weeks Live until GA release
Beta Target #1 Tue: Preferred Beta Target plus 1 week, Preferred Final Target minus 4 weeks n/a
Final Freeze Tue: Preferred Final Target minus 2 weeks QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until Final Release (GA)
Final release candidates Any time after Final Freeze Until Final Release (GA)
Final Go_No_Go_Meeting Thu @ 13:00 E{D,S}T: planned Final Release (GA) minus five days (repeats if No-Go) n/a
Preferred Final Target Tue: Primary date from which rest of schedule derives
This date is either the Tuesday before May 1st or October 31st.
n/a
Final Target #1 Tue: Preferred Final Target plus 1 week n/a
Maintenance Tue: Same day as Final Release (GA) ~13 Months
End of Life Final Release (GA) of next-but-one release plus one month n/a

開発の予定の根拠(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 for 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 other distributions following Fedora having adopted a similar release cycle. Several other major components, including the Linux kernel, Openoffice.org, Xorg, have started following a time based release schedule. 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.

Although due to how planning process and release validation works, Fedora is not a strictly time based distribution, but uses combination of both time and feature based release paradigms. This way we can react to bigger changes aka new installed, way how we release bits (Fedora.Next) etc.

予測困難な事態の計画に対する予定(Schedule Contingency Planning)

If Mass rebuild is not completed on time, all the subsequent milestones starting with Branch point are pushed back for one week until the Mass rebuild is completed.

"大量のリビルド"が予定通りに完了しなければ、これ以降の"枝分かれ地点"の始まりになる節目は、"大量のリビルド"が完了するまで、一週間後ろになります。

If the Beta Go_No_Go_Meeting results in a "No Go" determination, rescheduling of the milestone and subsequent milestones follows these rules:

  • Slip of the Beta from the Preferred Target to Target #1 does not affect Final Release (GA) date. The Final Release (GA) date remains on Preferred Final Target.
  • Slip of the Beta to Target #1 adds a new Beta Target #2 and Final Release (GA) slips to Final Target #1 (and we don't yet add a Final Target #2).
  • Slip of the Beta past Target #N (where N >= 2) adds a new Beta Target #(N+1) and also adds a new Final Target #N

もしβ版リリースに向けた Go_No_Go_Meeting 会議の結果が、"No Go"で決定した場合、β版リリースと以降の節目の再スケジュールは次のルールに従います。

  • Slip of the Beta from the Preferred Target to Target #1 does not affect Final Release (GA) date. The Final Release (GA) date remains on Preferred Final Target.
  • Slip of the Beta to Target #1 adds a new Beta Target #2 and Final Release (GA) slips to Final Target #1 (and we don't yet add a Final Target #2).
  • Slip of the Beta past Target #N (where N >= 2) adds a new Beta Target #(N+1) and also adds a new Final Target #N

If the Final Go_No_Go_Meeting results in a "No Go" determination, that milestone and subsequent milestones will be pushed back by one week. もし最終版リリースの向けたGo_No_Go_Meeting 会議の結果が、"No Go"で決定した場合、最終版リリースのとそれ以降の節目の予定は、一週間ずつ後ろになります。

One week is 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 correspond to the established day we synchronize our content with the mirrors that carry our releases. Be aware of holidays and of possible PR conflicts (contact Fedora PR) with the new proposed final date.

1週間は、スケジュールに追加され、火曜日リリースの慣例を維持します。 火曜日はリリース日に指定されています。なぜなら、火曜日は、ニュースの報道に適した日であり、我々のリリースを配信するミラーサイトと、我々がコンテンツをと同期する日と一致しています。休日に注意して、新しく提案された最終リリース日に衝突する可能性があることに注意しましょう(Fedora PRに連絡してください)。

Go/No Go meetings receive input from representatives of FESCo, Release Engineering, and Quality Assurance.

Go/No Go 会議では、FESCoRelease EngineeringQuality Assuranceの代表者によって、決定します。

保守管理の予定(Maintenance Schedule)

We say maintained for approximately 13 months because the supported period for 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.

だいたい13ヶ月間で保守管理といってますが、これは、リリースされているFedoraのサポート期間が、開発中のリリースが、一般公開版となる日に依存しているためです。 結果として、"Release X"は、"Release X"に2を加算したリリース後の一ヶ月間は、サポートされます。

This translates into:

  • Fedora 38 will be maintained until 1 month after the release of Fedora 40.
  • Fedora 39 will be maintained until 1 month after the release of Fedora 41.

つまり:

  • Fedora 38 は、Fedora 40のリリース後一ヶ月間は保守管理されます。
  • Fedora 39 は、Fedora 41のリリース後一ヶ月間は保守管理されます。

保守管理予定の根拠(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.

Fedoraはフリーでオープンソースのソフトウェアの革新に焦点を当てており、その動きが速いです。より動きの緩やかなで、保守管理期間の長いディストリビューションを望むのであれば、 Red Hat Enterprise Linux(Fdeoraの派生物です)やCentOSのようなフリーでリビルドされているものがあなたにはより適したものかもしれません。詳細はRHEL を参照してください。

Historically, the Fedora Project has found that supporting two releases plus Rawhide and the pre-release Branched code to be a manageable work load. Fedoraプロジェクトは、歴史的観点から、二つのリリースとRawhideとリリース前のBranchedのコードにすることが管理しやすい形であるとわかったのです。

ご臨終(End of Life (EOL) )

When a release reaches the point where it is no longer supported when no updates are created for it, then it is considered End of Life (EOL). Branches for new packages in the SCM are not allowed for distribution X after the Fedora X+2 release and new builds are no longer allowed.

The tasks performed at EOL are documented in the End of life SOP.

これ以上サポートしないという点に到達し、更新がされなくなると、"ご臨終"(EOL)とみなされます。Fedora Xに2 を加算したリリースが行われた後、ソースコード管理システム内の新しいパッケージのためのブランチは、Fedora Xに配布は許されず、新しいビルドはこれ以降許可されていません。

EOLで発生するタスクは、 End of life SOPで文書化されています。

追加のリリース予定に関する情報(Additional Release Schedule Information)