米アップルがプログラミング言語Swiftをオープンソース化したり、米グーグルが同社の機械学習技術をTensorFlowとして公開したりと、大手ベンダーが中核のソフトウエア技術をオープンソースソフト(OSS)化する動きが相次いだ2015年。国内でも、Preferred Networksが機械学習ソフト「Chainer」を公開するなど、世界に挑戦するOSSプロジェクトを立ち上げる動きがみられた。

 日本人技術者によるOSSへの貢献を再確認できたのが、日本OSS推進フォーラムが2015年10月24日に明星大学の日野キャンパスで開催した「第10回 日本OSS貢献者賞・日本OSS奨励賞」授賞式だった。日本OSS貢献者賞を受賞した4人のうち、奥一穂氏と亀澤寛之氏が講演、古橋貞之氏がビデオメッセージを寄せた(ITpro関連記事)。岡島順治郎氏は所用のため欠席した。

 奥氏と古橋氏は、いずれも著名なOSSプロジェクトを連続して立ち上げたことで知られる。両氏は、別のソフトウエアを開発している際に感じた不満やニーズをうまく捉え、新たなOSSプロジェクトの立ち上げにつなげた。2015年のOSS活動の振り返りとして、講演の内容を紹介したい。

オープンからクローズドを、クローズドからオープンを生む

写真1●奥一穂氏
写真1●奥一穂氏
[画像のクリックで拡大表示]

 奥氏は、世界最速とされるHTTP2サーバーソフト「H2O」や、JavaScriptより高速な言語処理系「JSX」の開発などが評価され、日本OSS貢献者賞を受賞した。このほか、Palm用ブラウザ「Xiino」、Webサイトの国際化・翻訳自動化を行う「Mylingual」「Japanize」、メッセージキュー「Q4M」などの開発を主導したことでも知られる(写真1)。

 H2Oは、配信のスケジューリングを工夫することでWebの表示を高速化したHTTP2サーバーソフトだ。ユーザーがリンクをクリックしてからページの表示が始まるまでの速度は、代表的なWebサーバーソフトの一つ「nginx(エンジンエックス)」と比べ、1.5~2倍速いという。

 奥氏がH2Oを開発したそもそものきっかけは、所属するディー・エヌ・エー(DeNA)で、JavaScriptベースのゲームエンジン「ngCore」の開発に参加したことだった。この開発中、奥氏はJavaScriptの実行速度の遅さがどうしても気になり、弱点を解決する言語処理系を自ら開発した。これが、受賞理由の一つに挙がった言語処理系「JSX」である。

 続いて奥氏は、JSXを使ったクローズドソースのゲームエンジンの開発に着手する。そのエンジンにWebSocketを実装する中で、ゲームの画面表示の高速化につながるWebサーバーソフトの構想を描いた。この構想が、H2Oを開発するきっかけになった。「クローズドソースの開発がオープンソースの着想につながり、オープンソースの開発がクローズドソースの着想につながった」(奥氏)。

 Webコンテンツ企業にとって、Webサーバーの高速化は極めて重要だ。「ページの表示が500ミリ秒遅くなると、売り上げが1%下がる、との調査結果もある」(奥氏)。

写真2●H2OのOSS化で競争を促す
写真2●H2OのOSS化で競争を促す
[画像のクリックで拡大表示]

 とはいえ、Webコンテンツ企業にとって、Webサーバーはあくまでサービス提供の「手段」であり、企業単体でゼロから開発、メンテナンスするのは難しい。むしろ、優れたWebサーバー実装を業界が共有し、複数の実装が競争し、切磋琢磨することこそ、Web業界、ひいてはユーザーにとって望ましい(写真2)。結果として「Webの世界をよりよくする」こそが、奥氏がH2OをOSS化した狙いだという。