NECがオープンソースソフトウェアとOpenStackにコミットする理由
大企業がますますオープンソースソフトウェア(以下、OSS)を重要視するなか、これまでにプロプライエタリソフトウェア及びハードウェアで実績を上げてきた国内のコンピュータメーカーは、既にオープン系システムへの転換を済ませていると言えるのだろうか?実際にOpenStackへのコントリビューションで実績を上げている日本電気株式会社(以下、NEC)のエンジニア達に話を聞いた。企業としてOSSに取り組む姿勢や考え方、また向き不向きなど、これから社内体制をOSSにシフトしようと考えている企業や団体にとってはヒントになるかもしれない。
今回は、「OpenStack Days Tokyo 2015」の最終日にNECソフトウェア技術統括本部 OSS推進センターの鳥居隆史氏、同OSS推進センターの大道憲一氏、中央研究所の元木顕弘氏、グループ会社であるNECソリューションイノベータ株式会社の井川征幸氏らにお集まりいただいた。
松下:「まずはOpenStackとの関わりについて教えてください。」
大道氏:「元々はTempestというOpenStackのテストスイートへの開発に参加していたのですが、それを使ってOpenStackのモジュールをテストしようとしていたら、OpenStackのモジュール自体のバグがすごく多くて通らないんです(苦笑)。ちゃんとしたテストケースを作ろうとしたら元のモジュールのバグを取ってからでないと進まないので、まずは元のモジュールをデバッグする、パッチを書くといった辺りから始まりました。NECとしてはOpenStackをビジネスに使うために、もっと品質を上げなければいけない。そのためにはテストも必要ですし、バグの修正も必要なのです。それがOpenStackに関わった最初のころです。」
鳥居氏:「もう少し遡ると、NECがOpenStack Foundationにスポンサーとして参加して、もっと積極的にOpenStackへコミットすると決めたことで社内のエンジニアが集められた感じでした。そこから品質を上げるための活動が始められました。NECとして顧客に製品を提供するためには、品質が大事なんですね。NECは2015年5月にバンクーバーで行われる「OpenStack Summit」にスポンサーとして参加することが決定したので、品質の向上についてはこれからももっと注力したいと考えています。」
松下:「実際にイベントではNECの様々な部門が日本全国で活動している様子が説明されていましたが、既にNEC社内では相当OpenStackの利用が広がっているということでしょうか?」
鳥居氏:「そうですね、あの時同じOSS推進センターの高橋がかなり駆け足でNEC社内とグループ会社によるOpenStackビジネスの概要を紹介しましたが、正直、正確に何人のエンジニアが関わっているかは、数えてみたことがないのでわかりません(苦笑)。でも、一つの部門ではないことは確かです。」
松下:「研究所に所属する元木さんは、顧客のプロジェクトにかかわる現場とは違う関わり方をしていたのですか?」
元木氏:「私はOpenStackのかなり初期の頃から見ていました。まだ、Novaしかモジュールがないというほど初期ですね(笑)。最初は、最新技術の動向を調査するといった感じで関わっていました。」
松下:「実際に、NECのような大企業がOSSにコミットする組織を作るには、どのような苦労があるのでしょうか?以前、楽天さんではOSSコミュニティに参加するには英語によるコミュニケーションが必須で、社内英語化はエンジニアの役に立っている、というコメントを伺ったことがありますが。」
井川氏:「それは必要かもしれませんが、最低限のコーディングマナーというか書き方みたいなものが判ればそんなに苦労があるとは思っていません。それに、社内にはOpenStackのコミュニティに関わっている人が何人も居るので、そういう時はヘルプになってくれますし。」
松下:「オープンソースのコミュニティはエンジニアが主体だと思いますが、今回のOpenStack Days Tokyoではコミュニティにユーザーも参加していると紹介がありました。それについてはどうお考えですか?」
鳥居氏:「オープンソースのプロジェクトでは開発者が中心というのが普通だと思いますが、最近のOpenStack Foundationの動きを見ていると、開発者主体だったコミュニティにもっとOpenStackを使う人、ここではネットワークオペレータや大企業を想定していますが、そういう人達も入ってきてほしいという意図が感じられます。ただ、もちろん、コードを書いたりパッチを作ったりする人に感謝というか、大事にしたいという気持ちがあって、過去のOpenStack Summitでは冒頭のキーノートで会場に居るコントリビュータに立ち上がって貰い、拍手を送るみたいなことが通例になっています。」
元木氏:「OpenStack Foundationの体制に対する考え方は、Linuxのプロジェクトとは全く違うと思います。比較的早い段階から企業が入って、グループによるガバナンスというか運営を特に重視している気がしますね。」
松下:「それぞれのプロジェクト、コミュニティによって違いがあるということですね。ところで、OpenStackに限らずオープンソースのプロジェクトに参加するための心得的なものはあるのでしょうか?英語力は必須だと思いますが、それ以外で何か秘訣的なものは?」
大道氏:「プロジェクトへの参加に関して言えば、とりあえず始めやすいところから少しづつやるというのが基本だと思いますが、あまり凹まないというのが重要かもしれません。」
松下:「プロジェクトに貢献しているのに、心が折れてしまう場面などもあるのですか?」
元木氏:「実はOpenStackで使われているレビューシステムにはSubmitしたパッチに対して「+2」から「-2」までの評価を付けられるのですが、そこでマイナスを付けられるとまるで全人格を否定されたかのように受け取る人が居るんです。でも、それは「後でもう少し修正したほうが良いかもね」と言うくらいのフラッグでしかないんですよ。それぐらいの気持ちで‐1を付けている。当然コメントでそう書いてくれる人も居ますが、この評価は後で統計的に使われるので、コメントだけではなく数値化される必要があるのです。それをあまりシリアスに受け取らないほうが良いんですが、そのことを教えてくれる人がいないと確かに難しいのかもしれません。そういう意味では、社内が「これはどういう意味なんですかね?」と気軽に聞ける体制になっている、そういうネットワークがあるというのは親切かもしれませんね。」
大道氏:「あとは、レビューシステム以外でもリアルにイベントで会って話をしたりとか、一緒に飲みに行ったりとかすると、「あぁ、お前はあの時のNECのエンジニアか!」と認識してくれて、対応が親切になるということはあるかもしれません。でも基本は真面目にコードを書く、コメントで質問されたら真摯に対応することに尽きますね。」
松下:「つまりは、同じ企業に所属していたらなんとなく分かり合えることもあるけど、英語でしかも全然違う企業もしくは国の人たちとコミュニケーションすることの難しさがあるということですね。でもそういう難しい話だけではなく、社内以外の人たちとのコミュニティだからこそ、これは良かったみたいな話はありませんか?このままだと辛い話で終わりそうなので(笑)。」
大道氏:「そうですね、そういえば昔、別のOSSを開発していた時にGoogleのエンジニアから「こういうバグがあったよ」というコメントを貰い、それに対して「次のバージョンでは修正するよ」と対応したら、その後に「お前の修正したヤツを検証したんだけど、Googleのサーバー1000台でテストしてみたら全部問題なく動いたよ!スゲェな!」と言われて、こちらも「さすが、Googleってスゲェな!」と驚いたことがありますね(笑)。そんなことはうちの社内では出来ませんから(笑)。そういう意味ではオープンにソフトウェアを開発する、公開するという醍醐味はあると思います。常に社外の人と関わっているという観点ですね。」
松下:「それは良い話だ。ホッとしました。ところで、そういった社内以外のコミュニティ活動に向いている人、向かない人というのはわかるんですか?」
元木氏:「オープンソースを仕事としてやる時のモチベーションは大切だと思うんです。9時5時で終わる仕事じゃないということもあると思いますし、コミュニケーションも出来ないとダメですし。自分がやったことがちゃんと評価される、ソースに組み込まれるというのを楽しめるか。仕事が出来るエンジニアって結局、顧客向けのシステムとかでも重宝されるんですよね、だから言われてやるのではなく自主的にやれるかが大事だと思います。向き不向きについてはある程度、傾向は見えてきた気がします。単なるコードが書けるエンジニアではなく、オープンソースのエンジニアリングにはアーキテクト的な素養も必要だと思います。」
OSSとして世の中に出てくるソフトウェアにはそれぞれ特性があり、様々な事情も絡み合って上手く行くプロジェクトとそうでないプロジェクトが混在する現在、エンジニアが主体的にプロジェクトへ参加することで自身の貢献を可視化し成長していくこと、周りのエンジニアを助けることで自身もスキルアップしていくことを企業側が支援することは必須なのだろう。その意味でOpenStackにコミットし続けるNECが、これまで以上に大きな成果を上げるのはそう遠くはない――そんな気にさせるインタビューだった。ここには書ききれない内容をかなり割愛したのだが、ニュアンスが伝わることを期待したい。
※公開当初、元木氏のお名前が間違っていました。また、内容の一部を表記を見直しました。お詫びして訂正させていただきます。(2015/4/16 編集部)
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- OpenStackの本格普及を見据えた認定試験「OPCEL」、企業内クラウドを構築運用するエンジニア教育のスタンダードを目指す
- CloudNative Days Tokyo 2019:K8sコントリビューターになるために必要なことは?
- LinuxCon Chinaで中国人エンジニアに聞いた中国のオープンソース事情
- OpenStackの土台を支えるインフラとQAが抱える深刻な悩みとは
- OpenStackコミッター座談会~「OpenStack Summit Tokyo 2015に向けて」
- Huaweiが開発をリードするSODAのコミュニティマネージャーにインタビュー
- Canonicalのマーク・シャトルワース氏、Jujuによるサービスの抽象化と流通を推進
- 日立のOSSコントリビュータに訊いた組織のあり方と失敗談
- OPNFVのディレクターに訊く「コードを書かないOSSプロジェクトを成功させるためには?」
- オープンソースを企業で活用するための組織、OSPOは日本に根付くか?