はじめまして。日本OpenStackユーザ会の元木と申します。普段はOpenStack開発コミュニティで、「Neutron」「Horizon」のコアデベロッパーとして活動しています。今回はOpenStack開発コミュニティの様子、コアデベロッパーとしての活動、今後の方向性について、日々接している立場からご紹介したいと思います。
皆さんご存じの通り、OpenStackには多数のプロジェクトがあります。プロジェクト数はリリースを追うごとに増えてきており、10月にリリースされたばかりの最新バージョン、コードネーム「Juno」では、OpenStackの公式リリースの対象となるプロジェクトだけでも、「Nova」「Swift」「Glance」「Keystone」「Horizon」「Neutron」「Cinder」「Heat」「Ceilometer」「Trove」「Sahara」と11個を数えます。次期リリースバージョンのコードネームの「Kilo」では「Ironic」がこれらに仲間入りします。
他にもたくさんのプロジェクトがあり、公式情報としては「OpenStack Wiki」や「公式なリスト」があります。もっと知りたい方は git.openstack.orgをのぞくと、面白いプロジェクトが見つかるかもしれません。
これらのプロジェクトは、基本的にそれぞれ独立した開発チームとして活動しており、それぞれ PTL(Project Technical Lead)、コアデベロッパーチームがあります。通常の開発サイクルは、機能提案(Blueprint)、バグ管理、パッチレビューの繰り返しで、主にレビューシステム、IRC(Internet Relay Chat)、メーリングリスト(以下、ML)、Weekly IRC Meeting で意見交換をして進めています。
大きな話はメーリングリストで、ちょっとした話はIRCで、というのが基本ですが、IRC上で議論してMLに場を移すという場合も珍しくありません。英語でのIRCは慣れないと大変かもしれませんが、私も最初はちょっと緊張しましたが、結構気楽に使っています。Weekly MeetingやIRCチャンネルのログも全て公開されています。
Weekly IRC Meetingでプロジェクトでの優先付けやステアリングがなされており、サブテーマでもIRC Meetingで議論が行われているので、「今、OpenStack開発コミュニティでどんな議論が進められているのか」「何がホットトピックなのか」などを知る上では、IRC Meetingに参加したり、ログを見たりすると、メーリングリストよりもホットな情報を得られます。
プロジェクトのコアデベロッパーたちはどんなことをしているのでしょうか。一言で言うと、PTL(Project Technical Lead)とコアデベロッパーが中心となってそのプロジェクトの運営をしています。各人の所属はありますが、「オープンソースコミュニティの本家の開発者」という立場、意識で関わっている点は共通しています。
一番、分かりやすい役割は、パッチのレビューです。OpenStackではパッチレビューでコアデベロッパー2人がOKを出すと初めてパッチがマージされます。コードレベルでの品質を保つ上での最後の砦ということになり、リリース前は非常に忙しくなります。また、最近NovaやNeutronなどのプロジェクトでは、パッチ投稿数とレビューする側の人力が釣り合わず、レビュー期間の長期化が問題になりつつあり、解決策がいろいろと議論されています。2014年10月23日の執筆時点ではNovaには700弱のパッチがレビュー待ちでした。大変ですね。
バグ管理も重要な仕事です。登録されたバグはほぼ誰かが内容を確認していますので、バグを見つけたらぜひ報告するようにしましょう。
Weekly IRC Meetingにも私はほぼ参加しています。このミーティングで、開発状況の共有、大事なバグの共有、Blueprintやバグなどのレビューの優先付け、などを話し合います。Design Summit前後など開発サイクルの初期段階では、その開発サイクルでのターゲットや優先度についてもこの場で議論されることが多いです。
こうしたコミュニティの活動には誰でも参加できますが、プロジェクトへの関わり方が深い分、自然とコアデベロッパーの発言割合が高くなります。これらの多くのミーティングの時間は日本ではあまりいい時間帯ではありません。私が関わっているNeutronと Horizonではそれぞれ朝6時と夜1時ですが、自分が思ったよりはきちんと参加できるのが驚きです。
コアデベロッパーはいろいろと大変なこともありますが、プロジェクトを引っ張って、OpenStackを作っていると実感できる立場だと思っています。新しいコアデベロッパーは、誰か(主にPTL)がその人を推薦して、他のコアデベロッパーから賛同が得られればその資格が得られます。プロジェクト全体をほぼ理解していて、何らかのサブテーマのリーダーを完遂すると、レビューアーとしての信頼も得られ、推薦されることが多いです。
最後に、開発コミュニティでの最近の動きの中から、ユーザー視点で重要だと思われるトピックを取り上げたいと思います。
Junoリリースから多くのプロジェクトで「Blueprint Spec Review」という仕組みが新たに始まりました。開発者とユーザーの両方からの要望で導入されました。これまで Blueprint(機能提案)はLaunchpadシステムに数行のサマリだけで登録され、実際のパッチが出て来るまで詳しい内容が分からないケースが多くありました。
Blueprint Spec Reviewを行うことで、新機能に対するユーザーからのフィードバックを早い段階で受けることができ、開発者にとっても仕様レベルの議論をコードレビューの中で行う必要がなくなるというメリットがあります。
承認された Blueprint の内容はhttp://specs.openstack.org/で参照できます。新たに追加された/される予定の機能を確認する際に便利です。また、現在レビュー中のBlueprint一覧はNova、Neutronなどで参照できます。新機能の議論に参加したいという方はぜひご覧ください。
OpenStackでは機能単位にプロジェクトがあることから、各プロジェクトが独立して発展してきました。この独立性は発展を促す上ではよいのですが、OpenStack全体を利用者視点で見た場合に、コンポーネント間での機能、API、CLIなどの統一感の不足が目立ってきました。これを解消するための動きがいろいろと始まっています。
機能面については、Technical Committeeによる各プロジェクトのGap Analysis(強化すべき点の分析)がIcehouseリリース時点で行われ(Neutron、Horizon、Heatなど)、Junoリリースの開発に生かされています。
APIやCLIについても、APIガイドラインや全プロジェクトをカバーするクライアントライブラリといった活動が始まっています。こうした活動を強化していくことで、OpenStack全体を使いやすいものにしていこうとしています。
本稿では、日々開発に携わっている立場から、OpenStack開発コミュニティの様子、コアデベロッパーとしての活動、最近のトピックをご紹介しました。OpenStackは多くの方によって支えられていますので、何らかの形でコミュニティにご参加いただければと思います。みんなで一つのものを作り上げていくといった経験から新しいつながりもできることと思います。
余談ですが、OpenStackの開発に過去1年以内に貢献した人は、Active Technical Contributorとして、OpenStack Summitの参加費800ドル近くが無料になるという特典も付いて来ます。
こうした活動を支援する目的で、先日、日本OpenStackユーザ会ではOpenStack Upstream Trainingを日本で開催しました。OpenStackの開発コミュニティに貢献できる人を増やしていこうという取り組みで、この中ではレゴを使ったロールプレイでオープンソースコミュニティを体験するといった興味深いセッションもあります。
参考リンク:OpenStackとレゴタウンとの意外な関係(@IT)
今後もこうした活動を日本OpenStackユーザ会では継続して進めていきますので、興味のある方はぜひご参加ください。
次回はビットアイルの長谷川章博氏が登場。「Summit特別リポート OpenStack APAC(China/India)の動向」をお伝えします。お楽しみに!
元木 顕弘(もとき あきひろ)
日本OpenStackユーザ会メンバー OpenStackコアデベロッパー
OpenStack「Neutron」「Horizon」のコアデベロッパーとして、OpenStack開発コミュニティで活動するとともに、OpenStackを中心にクラウド案件の支援を行っている。NEC 情報・ナレッジ研究所に勤務。ルーターから迷惑メールアプライアンスに至るまで、さまざまな研究開発経験を持つ FPGA からクラウドまで分かるエンジニア。プライベートではサイクリングを楽しみつつ、OpenStack/Linuxなどの翻訳を行っている。
スピーディなビジネス展開が収益向上の鍵となっている今、ITシステム整備にも一層のスピードと柔軟性が求められている。こうした中、オープンソースで自社内にクラウド環境を構築できるOpenStackが注目を集めている。「迅速・柔軟なリソース調達・廃棄」「アプリケーションのポータビリティ」「ベンダー・既存資産にとらわれないオープン性」といった「ビジネスにリニアに連動するシステム整備」を実現し得る技術であるためだ。 ただユーザー企業が増えつつある一方で、さまざまな疑問も噴出している。本特集では日本OpenStackユーザ会の協力も得て、コンセプトから機能セット、使い方、最新情報まで、その全貌を明らかにし、今必要なITインフラの在り方を占う。
Copyright© 2014 ITmedia, Inc. All Rights Reserved.