OSSコミュニティー活動への貢献
OSSコミュニティー活動への貢献 |
コミュニティー活動の紹介 |
ミッションクリティカル領域向け機能の開発 |
オープンソース・ソフトウェア(以下OSS)コミュニティーとは、OSS開発のためのメーリングリストや成果物の公開の場のことです。
OSSコミュニティーの数は、現在数千のレベルに達しています。主要なものにLinuxカーネルの開発コミュニティー、Xenハイパーバイザの開発コミュニティー、cライブラリの開発コミュニティーなどがあります。

一般の企業との協調では、協同開発するプロダクトの仕様を決めてから開発分担しますが、OSSコミュニティーでは違います。OSSコミュニティーでは一般に仕様書や仕様決定会議のようなものはありません。コミュニティーの管理者であるメンテナが責任をもって管理しているOSSソースコードは、メーリングリストを通して議論され変更されます。この議論はコミュニティーの場で公開されており、誰でも参加できるので、不特定多数の参加者を納得させる必要があります。
OSSコミュニティーの活動は誰でも参加できると言われていますが、コミュニティーに貢献するにはそこで行われていることへ敬意を払い、理解力を持って活動することが重要です。こうした活動の積み重ねによって、コミュニティーに貢献する実力を他のメンバーに認めてもらうことができます。
このような状況があるため、日本の大きなベンダーといえども、実際にOSSコミュニティーのソースに取り込まれるパッチの件数はそれほど多くないのが実状です。こうした難しさの中で、富士通は国内ベンダーでは常にトップクラスの活動実績をもち、コミュニティーに貢献をしています。OSSコミュニティーに貢献するということは、ベンダーとしてコミュニティーへ奉仕するという志や開発力の本当のレベルをみる指標になると言えるでしょう。
表1.富士通のコミュニティー活動がご提供するお客様メリット
| 富士通のコミュニティー活動 | お客様メリット | |
|---|---|---|
| パッチ取り込み数 | 国内ベンダートップのパッチ取り込み数でOSSコミュニティーへ着実に貢献しています。 | ここがGood! お客様の不便や不安の迅速な軽減につながっています。 |
| 機能追加提案 | ミッションクリティカル領域に関してレッドハットと共同で機能追加提案をしています。 | ここがGood! メインフレームなどで培ったノウハウを活かし、ミッションクリティカル領域でも日本のお客様の要望を実現しています。 |
最近の日本のベンダーによるパッチの取り込み件数の様子
コミュニティー活動の紹介
前項で述べたように、ほとんどの OSSコミュニティーは誰でも参加可能で、メーリングリストで開発過程が公開され、かつ単一のソースツリーで管理・公開されています。(公開ライセンスは色々ありますが、多くはGPL v.2のライセンスで公開され、LinuxカーネルもGPL v.2で公開されています。)
メンテナと呼ばれるソースツリーの管理者は一人の場合や複数のメンバーの場合もあります。メーリングリストに投稿されたパッチは、参加者による査読やテストを経てサブシステムメンテナやソースツリーのメンテナの承認後集約され、バージョン管理された上で公開されます。リリース前・障害修正パッチ等の集約途中のソースコードも主にテスト向けに公開されています。
メーリングリストには約5000名の開発者が直接参加しており、毎日平均で約400通のメールが飛び交っています。過去10か月程度の期間(2007年10月~2008年7月)を見てみますと、多い日には900通程度、クリスマスシーズンには100通弱になります。次のグラフをご覧ください。小さなギザギザだけでなくもっと大きな波があることにお気づきになるでしょうか?おおよそ3か月毎の波があることに気づかれるでしょう。これは、現在のLinuxカーネルのリリースサイクルが影響しています。
一日あたりのメールトラフィック
次に約5000名のメーリングリスト参加者により、どの程度の開発が行われているのか見てみましょう。2005年4月から2008年7月末までの平均で、毎月約2700件の機能追加・改善/障害修正を目的としたパッチが、リーナス・トーバルズ(Linuxカーネルの最初の開発者)が管理するソース(世界で唯一のLinuxカーネルのソースツリー)に取り込まれ続けており、パッチ件数は増加傾向にあります。
2005年4月から2006年3月 月平均 約2000パッチ
2006年4月から2007年3月 月平均 約2200パッチ
2007年4月から2008年3月 月平均 約3100パッチ
毎月取り込まれるパッチ数の推移

膨大なパッチが開発・投稿されると品質を維持する工夫が重要になります。例えば機能追加に対する査読・テストをし易いように、特別なソースツリーを維持する試みが始まっています。また査読者・テスト者を増やすために査読を呼び掛ける人もいます。パッチのコミットログに、査読者、テスト者やバグレポート者の名前が入るというインセンティブもあります。
重要なことは、今や開発の中核となったベンダーが、実った果実を摘み取るだけでなく果実を実らせることも意識すること、自身の欲する開発機能以外の部分も査読を行いLinux/OSSの進歩に貢献していくことだと考えています。一例として富士通はLinuxカーネルコミュニティーで開発されるカーネルの品質向上に微力ながら貢献するため、査読活動にも力を入れようとしています。
次に富士通が投稿するパッチがどの程度Linuxカーネルに取り込まれているのか、別な言い方をすると、富士通は創りたい機能をどの程度Linuxカーネルコミュニティーの中で創ることができているのかをデータを使ってご紹介します。
富士通製パッチ取込み数遷移

このデータは、前述の毎月取り込まれるパッチ数の推移に、富士通製のパッチ取込み数を重ね合わせてあります。右軸が富士通のパッチが取り込まれた数です。最新のLinuxカーネルに取り込まれたパッチ数の約1.3%程度は富士通が直接作ったものです。国内サーバベンダーの中で、富士通は常にトップの数値を出しています。
ミッションクリティカル領域向け機能の開発
富士通は実効性のあるコミュニティー活動をすることでOSSコミュニティーに貢献していますが、特にミッションクリティカル領域(以下MC領域)に向けた機能について、別項「レッドハットとの協業」で詳述しているとおり、レッドハットと共同で機能追加提案を行っています。
富士通は他ベンダーに先行してこのMC領域向けの機能強化に取り組み続けてきました。また、基幹系システムに関する課題の早期検出、早期解決に対応してきました。
以下は富士通が関係した基幹系システム向け機能開発の概要です。
コミュニティーまたはレッドハットとの共同開発
- 仮想化の機能
- ⇒HVMの管理機能強化やダンプ機能
- 保守性の強化
- ⇒カーネルダンプ機能の開発、ダンプツールの機能改善
- 柔軟性・連続運転性の強化
- ⇒動的メモリ追加機能、資源管理機能開発
- 拡張性の強化
- ⇒超大規模メモリ搭載時の性能強化、接続デバイス数の拡大
富士通が独自に開発
- 保守性の強化
- ⇒障害情報採取、プラットフォームによるダンプ採取など
OSSコミュニティー活動に貢献できる富士通の開発力は、レッドハットとの協業を実現し、そのことがMC領域における基幹系システムに必要な高可用性、信頼性、拡張性等を強化したLinuxディストリビューションの早期提供につながっています。
