今回は、Fedora CoreとRed Hat Enterprise Linux®の開発および使用モデルを説明し、比較する4回シリーズの最終回をお届けします。
これまでに、FedoraプロジェクトとRed Hat Enterprise Linuxの目標と目的を検討しました。それから参加者、および各ディストリビューションで行われる開発のタイプを詳しく検討しました。前回の記事では、
Fedora Coreの共同開発に焦点を合わせました。
この最終回の記事では、Red Hat Enterprise Linuxディストリビューションの開発で使用されるアプローチを詳しく説明します。最後に、4回シリーズのまとめとして、この二重の開発モデルがすべての関係者の利益になる理由を要約します。
Red Hat Enterprise Linuxに関与する方法
Red Hat Enterprise Linuxに変化をもたらす主な手段は2つあります。次のような直接的方法と間接的方法です。
Red Hat Enterprise Linuxへの間接的関与
Red Hat Enterprise Linux内のコンテンツの多くは、それぞれのアップストリーム開発ツリーから直接継承されています。たとえば、Apacheの開発はApacheの組織、カーネルの開発はLinusのkernel.orgツリーに基づいています。
したがって、重要な新しいカーネル機能をRed Hat Enterprise Linuxに組み込みたい場合は、kernel.orgからのスタートになります。そこから、その機能はFedoraへ継承されます。その機能がFedoraで成功すれば、あとでそれぞれのFedora Coreベースラインから継承される形で、Red Hat Enterprise Linuxへ取り入れられます。このようにRed Hatは、主要なお客様やパートナーだけでなく、より幅広いオープンソースコミュニティに対しても、このオペレーティングシステム開発の新しい革命的なアプローチに参加できる門戸を正式に開いています。
Red Hat Enterprise Linuxへの直接的関与
特定のリリースをすでにご利用頂いているユーザの方に安定してご利用頂くために、Red Hatは通常、リリースのメンテナンスサイクル中は新しい機能を組み込みません。たとえば、Red Hat Enterprise Linux 4における重要な新しい機能の追加は、Red Hat Enterprise Linux 5において行われるのが通常です。
Red Hat Enterprise Linux 4での主な作業は、セキュリティの強化、バグ修正、パフォーマンスの強化、ハードウェア対応、およびお客様の強い要求に応えた機能の追加です。バグ修正についてRed Hatとやり取りする主な手段は、Red Hatのサポートサービスを経由することです。Red Hatの主なハードウェアおよびソフトウェアパートナーとの定評あるパートナー管理チャネルがあります。Red Hat Enterprise Linuxメンテナンスリリースの開発では、これらの戦略的パートナーとともに共同開発とテスト作業を行うことがよくあります。これによって、共同で達成できる作業量が大幅に増大し、対象のプラットフォームも広がります。
Red Hat Enterprise Linuxの標準的な開発モデルは、メジャーリリース(Red Hat Enterprise Linux 3とRed Hat Enterprise Linux 4)ごとにパッケージをリベースする(新しいメジャーバージョンで置き換える)というものです。Red Hatでは、Fedora Coreリリースの経験とフィードバックを利用して、どのバージョンが製品化可能と実証されているかを評価しています。あるパッケージの1つのバージョンがRed Hat Enterprise Linux 4などのRed Hat Enterprise Linuxリリース用に選択されると、通常はそのソフトウェアバージョンが維持され、増分修正がそのバージョンに適用されます。こうしたアプローチをとる目的は、変更の頻度をできるだけ引き下げ、安定性を保つことです。
それに対して、Fedoraでの問題解決の方法は、通常、パッケージの最も重要な最新のバージョンを試してみるということです。Fedoraの継続的修正では、パッケージの全面的なリベースが行われるのが普通ですが、
Red Hat Enterprise Linuxの修正では、通常、当面の問題だけに対処する小規模な変更が加えられます。
Red Hat Enterprise Linuxの次期メジャーリリース(Red Hat Enterprise Linux 4の後継製品)を開発する過程で、Red Hatは共同開発とテスト作業について、コミュニティの開発者および主要なビジネスパートナーと緊密に連携して作業しています。たとえば、Red Hat Enterprise Linux 5に取り入れることが想定されているカーネルの機能拡張の大部分は、kernel.orgにおいてアップストリームで直接開発されています。同様に、Red Hat Enterprise Linux 5で予定されているコンパイラの機能拡張は、gccコミュニティで開発されています。これらの機能拡張は、まずFedoraで継承およびテストされ、そのあとRed Hat Enterprise Linuxで継承とテストが行われます。
こうした理由から、Red Hatでは、共同開発パートナーに対して、新しい機能拡張をそれぞれのアップストリームプールへ組み込むことも推奨しています。こうすれば、我々すべてがコミュニティモデルの恩恵を受けることになります。
Red Hat Enterprise Linuxのリリース手順
Red Hat Enterprise Linuxのリリーススケジュールは、新しいメジャーリリースとアップデートリリースで構成されます。新しいメジャーリリースは数字で指定されますが(例:Red Hat Enterprise Linux 3)、アップデートリリースはUで指定されます(例:Red Hat Enterprise Linux 3U7)。これらのアップデートリリースは、4~6カ月おきに行われます。
アップデートの要件は、サポートおよびパートナー管理チームによって集約され、優先順位付けされます。各アップデートには、お客様とパートナーがアクセスできるベータバージョンがあります。Red Hat Enterprise Linuxのアップデートでは安定性が重視されるため、組み込まれる変更は、すべて厳格な選択基準を満たす必要があります。
たとえば、変更には次のことが要求されます。
お客様が遭遇した実証済みの問題に対処する。理論上の話や非現実的な条件下での現象にとどまる場合は対象とされない。
互換性を維持する。変更によってABI/APIのインタフェースが切断されてはならない。これは、カーネルのバイナリインタフェース(kABIなど)の維持が要求されるカーネル関連の変更にも当てはまる。
マイナーな機能拡張にとどめる。影響の大きい、または危険性のある新しい機能は、Red Hat Enterprise Linuxのアップデートには組み込まない。
重大なバグ修正やセキュリティ修正については、必要に応じて非同期的にリリースされます。これらのRed Hat Enterprise Linuxパッケージの新しいバージョンは、「エラータ」と呼ばれます。Fedoraでこれに相当する用語は「アップデート」です。
Red Hat Enterprise Linuxのメジャーリリースは、約18~24カ月おきに行われます。大部分のRed Hat Enterprise Linuxリリースには、1つまたは複数の初期テストバージョンがあり、それぞれがアルファ基準レベルと呼ばれます。「アルファ」は、機能が固定される前の初期テストバージョンであることを示します。
アルファに続いて、通常、1~3つのベータ基準レベルがあります(「ベータ1」、「ベータ2」など)。ベータ1は、機能を完備した最初の基準レベルです。ベータ2には、ベータ1で発生した問題へのバグ修正が含まれます。
ベータのあとには、Release Candidate(RC)基準レベルがあります。RCバージョンで顕著な問題が見つからなければ、最終的なGeneral Availability(GA)バージョンとして認められ、正式出荷リリースとなります。Red Hat Enterprise Linuxのお客様とパートナーは、アルファおよびベータテストリリースにアクセスできます。
Red Hat Enterprise Linuxの開発モデルの詳細については、次の記事を参照してください。
Linuxjournal.com:『Red Hat Enterprise Linux 4の構築』(英語)
Linuxjournal.com:『Red Hat Enterprise Linux v. 3の構築』(英語)
結論
Red Hatは、上記のように、個人、お客様、およびパートナーとオープンにやり取りし、安定したオープンソースディストリビューションを提供しています。Red Hatでは、各対象ユーザがさまざまな、しばしば矛盾する目的を持つことを認識しています。カスタマイズされたアプローチは、画一的な(one size fits all)戦略よりもはるかに有効であることが証明されています。それは関係者全員により大きな利益をもたらします。
Red HatがFedora Coreコミュニティディストリビューションを主催し、オープンソースプロジェクトの急速な発展と統合を促しているのはそのためです。Red Hatは、さらにビジネスユーザ向けにRed Hat Enterprise Linuxという形で強化、テスト、および継続的なサポートを提供しています。ボランティア開発者としてFedoraに参加する方法、およびRed Hat Enterprise Linuxリリースに変化をもたらすより間接的な方法は、明確に定義されています。
結局のところ、この「両者の長所を組み合わせる(best of both worlds)」アプローチは、全関係者に利益をもたらします。コミュニティ開発のパワーによって、急速な技術革新と幅広いテストが実現します。構造化されたRed Hat Enterprise Linuxリリースの厳格さによって、ビジネスクリティカルな導入向けの安定したプラットフォームが実現します。各アプローチは、それぞれのアップストリーム開発チームにフィードバックされ、バグ修正と機能拡張の両方で共有されます。このオープンソースコミュニティ開発に対する揺らぐことのないコミットメントは、常にRed Hatのオペレーティングモデルの際立った特徴であり、今日ではRed Hatの創業当時にも増してその妥当性が証明されています。