ElasticのVPたちが有料ソフトのコードをオープンにした意義を語る
オープンソースの検索エンジンであるElasticsearchを開発するElasticは、サンフランシスコで年次カンファレンス、Elastic{ON} 2018を開催した。今回はElasticのグローバルマーケティングのVPであるJeff Yoshimura氏と、プロダクト担当のVPであるGaurav Gupta氏にインタビューを行った。
自己紹介をお願いします。
Yoshimura:私はグローバルマーケティングの責任者です。私のミッションはデベロッパーにとってElasticのソフトウェアを簡単に使えるようにすること、それはダウンロードの方法からコミュニティとの関係まで幅広いのですが、そこにフォーカスしています。またオープンソースのコミュニティだけではなく、我々にお金を払ってくれる顧客に対しても最良の体験を提供できるようにすることを目指しています。ですので、パートナーや日本を始めとしてElasticのグローバルの拠点の人たちと協力して仕事をしています。
日本での仕事はまだ始まったばかりですが、日本がユニークであることは知っていますし、システムインテグレーターが彼らの顧客をサポートできるように、我々も支援をしなければいけないと思っています。過去には、主にエンタープライズ向けのソフトウェアのコンサルティングやプロフェッショナルサービスなどをやってきました。SiebelやSalesforceなどの企業ですね。そして今は、Elasticでグローバルマーケティングをやっているというわけです。入社した3年ほど前は、まだ社員の数は300名程度しかいない頃でしたが、今や800名を超える規模になりました。とてもエキサイティングな職場ですよ、Elasticは。ちなみに私は日系4世です。
Gupta:私はプロダクトマネージメントの責任者です。その中にはプロダクトマネージメント、テクニカルマーケティング、デベロッパーリレーションなどが含まれます。ユーザーの声を聞いてそれをエンジニアリングチームに伝えるというのが我々の仕事の大きな部分になりますが、プロダクトのロードマップを作ることも重要な仕事です。Elasticはサーチから始まりましたが、今はモニタリングやAPMに拡がっていますので、これからも良いプロダクトを作るためにはやることは多いのです。
「コードを公開」することの意義
初日のCEOのシェイ・バノンさんが公開した「全てのソフトウェアのソースを公開(open)する」話についてもう少し詳細に教えてください。
Gupta:まず全てを「オープンソース」ではなくて「コード」を「オープン」にするということです。別の言い方では「オープンコア(Open Core)」ですね。これに関しては、シェイが書いたブログのポストがあるのでそれを参考にしてもらうと良いと思います。
日本語訳:オープンへの新たなる挑戦
ここで、このブログの内容を簡単に要約することにする。
オープンソースソフトウェアを元にしたビジネスは、
- オープンソースのコードに対してサポートサービスのサブスクリプションを提供することで、対価を得る方法
- 有料のエディションと無料のエディションを作って、機能に差を付けるという方法
のいずれかであることが多い。Elasticはそのどちらの方策も取らずに、オープンソースである部分はそのままApache 2.0のライセンス、無償のX-Packの部分はElasticのEULA(End User License Agreement、使用許諾契約)が付いたままでコードをGitHubに公開、そしてこれまで有償であったX-Packについてもソースコードは公開するが、有償として顧客から対価を受け取る、というものだ。
Gupta:ここで大事なのは全てがApache 2.0のライセンスになるのではなく、従来Elasticのライセンスであったものはライセンスはそのままでコードが公開されるだけ、ということです。もうひとつは、これまでバラバラだったオープンソースの部分とX-Packの部分をパッケージとしてまとめることで、一度にインストールでき、ユーザーにとっても実用においては利点が多いということです。これまではX-Packの無償部分があるということがあまり知られていなかったということも、今回の決断には大きく寄与しました。
しかし全てのコードを公開すると、例えば試用期間を過ぎてロックがかかった有償のアプリケーションを、ユーザーがその部分をハックして引き続き使えるようにすることなども可能になりますね? その場合はどうするのですか?
Gupta:現実問題として、そういうハックを行って有償の製品を無償で使うというのは、Elasticのプロダクトに限らず非常に多く行われていることなのです。そのようなコードは、いっぱいネットに存在します。しかし我々の顧客の99.9%は、そんなことをせずに有償の部分に関してはちゃんとお金を払ってくれると信じています。
有償の製品もソースがオープンになっていることで、不具合があった場合にコードを見てデバックを行えたり、パッチを作ったりすることができます。私たちは、この利点のほうが大きいと考えています。
つまり0.1%のチートを行う人を罰するよりも、99.9%の正直な人に利益があるように変えた、ということですね。ところでElasticはオープンソースでソフトウェアを開発していますが、プロダクトの方向性や機能の追加などは全てElasticがコントロールしているという理解でいいですか?
Gupta:Elasticではだいたい300名ほどのエンジニアがソフトウェアを開発していますが、今言われたようにプロダクトの機能やロードマップなどは全てElasticのエンジニアが決定をしています。もちろん、コミュニティからのプルリクエストをマージすることもあります。これは普通のオープンソースソフトウェアと同じです。またこのようなカンファレンスで「こういう機能が欲しい」というリクエストを貰うこともあります。その場合は、プロプライエタリなソフトウェアの会社と変わりません。
オープンソースソフトウェアがいわゆる「ファウンデーション」の形式で運営される際の最大の問題点は、全ての判断をファウンデーションで行う結果、素早く動けなくなること、です。これはApache Software Foundationなどを例にとっても、理解してもらえると思います。キーノートでも分かるように、我々の開発スピードはとても速いのです。それを維持するためにも、この体制は続いていくと思います。
Elasticがもっと成長するためのチャレンジは?
Yoshimura:我々のプロダクトをもっと使ってもらうためにも、教育的なコンテンツが必要だと思います。ブログでもそのようなコンテンツを公開していますが、もっとローカライゼーションを進めないといけないと思っています。それに追加してトレーニング、認定などをもっと拡げないといけません。さらに、トレーニングからエンジニアの認定に続いていくことが重要です。それを顧客にも認識してもらうことで、Elasticのプロダクトをより多く使ってもらうことに繋がって行くと思います。
最後にAPMについてお聞きします。すでに市場ではNew RelicやAppDynamicsのように商用のAPMがしのぎを削っていますが、ElasticがオープンソースのAPMで勝つためには何をすべきでしょう?
Gupta:システムの中身がどうなっているのか、どこで遅延が起きているのかを知るためには、色々な方法があります。ログを調べるというのもその方法ですし、既存のAPM(Application Performance Monitoring)を使うのも一つの選択肢です。ただし、より正確に行おうとすれば、ログもメトリックスもAPMも全て使う必要がありました。これまではそれぞれが別のツールとして存在していたために、どうしても包括的な答えを見つけることができませんでした。
Elasticはもともとログの検索ツールからスタートしています。そこにOpbeatというベンチャーを買収して、メトリックスを取ることができるようになりました。ですので、我々にとってはAPMはログとは別の「もうひとつのインデックス」にすぎないのです。しかし競合他社の製品は主にJavaにフォーカスしていますが、Elasticはそういう既存のシステムではなく、もっとフロントエンド側にフォーカスしたAPMを作ろうということでNode.js、JavaScriptに対応して、アプリケーションのコードの内側で何が起こっているのかを見つけるような開発を進めたのです。今、APMはGAになりましたので、次のステップとしてJavaに取り組もうとしています。既存のアプリケーションではなく、これから新しく開発されるアプリケーションに対応することを最優先したということです。そして当然ですが、Elastic Stackとの統合を進めています。ここに我々の競争力があると感じています。
つまりNode.jsやJavaScriptなどが多用されるアプリケーションを優先して、その後でJavaをやろうということですね。
Gupta:その通りです。既存のAPMはすでに10年以上の歴史がありますが、我々が目指しているのはもっと新しい領域のアプリケーションに対応することなのです。
全てのソースコードをオープンソースにすることと、Elasticのようにコードをオープンにすることの違いが理解できただろうか。プロダクトサポートで売り上げを上げようとすると、どうしてもプロダクトを使いやすくするというモチベーションが下がる、かと言ってエディションを分けてエンタープライズ版とコミュニティ版を作れば開発のサイクルが分かれてしまい、遅くなるというジレンマが生じる。これらを突破するための方法論として、非常に興味深いインタビューであった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- ElasticsearchのElastic、年次カンファレンスで「全てのコードを公開する」と宣言
- ElasticのCEOと日本代表、日本での事業計画などについて語る
- Elastic、アプリケーションパフォーマンスモニタリングを公開
- Elastic大谷氏とマイクロソフト川崎氏が語る Elastic+Azureですべてが可視化される世界
- Elastic、Elasticsearchの新機能、Kubernetesの可視化を発表
- 大切なのは「スケール」すること キーパーソンが語るElasticの2017年
- Elastic Stackって何?
- Elasticsearchを開発するElastic、最新バージョン5.0とElastic Stackを解説
- ObservabilityのNew Relic、創業秘話と新しいプラットフォームについて語る
- OpenContrailからTungsten Fabricへ。Juniperの責任者に聞いたその背景とは?