Redis Labsの2度のライセンス変更はフリーライドを防げるかオープンソースとクラウドプロバイダー(後編)

クラウドプロバイダーがオープンソースベースのサービスを展開すると、開発企業のサポートビジネスは破綻する。オープンソースビジネスは転換点を迎えているのかもしれない。

» 2019年04月17日 10時00分 公開
[Cliff SaranComputer Weekly]

 前編(Computer Weekly日本語版 3月20日号掲載)では、MongoDBとAmazon DocumentDBの関係からオープンソースとクラウドプロバイダーの在り方を見た。

 後編では、2度のライセンス変更を行ってこの問題を模索するRedis Labsの動向を紹介する。

Computer Weekly日本語版 4月17日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 4月17日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 Redis Labsは自社のデータベースモジュールをオープンソースから切り離し、そのソースコードへのアクセスに新たな商用ライセンスを適用する。同社のインメモリデータベース「Redis」のライセンスを変更するという決断は、同製品のコミュニティーの意見を取り入れる形で下された。同社は、以前使っていたライセンスである「Commons Clauseで修正したApache License 2.0」を「Redis Source Available License Agreement」に置き換えた。

 Redis Labsがライセンスを変更したのは、無償のRedisのコードを使ってクラウドプロバイダーがマネージドサービスを開発するのを防ぐことが目的だった。

 Redisコアとツールには、引き続き3条項BSDライセンスが適用される。オープンソースのRedisコアは、レプリケーション、自動フェイルオーバー、データ永続化、クラスタ化など、分散データベースシステムを運用するのに必要な要素を全て備えている。Redis Labsによると、同社は完全に独立した方法でRedisコアを管理するために、Redisの開発者であるサルバトーレ・サンフィリポ氏が率いる専門のチームを立ち上げたという。

 「RediSearch」「RedisGraph」「RedisJSON」「RedisBloom」「RedisML」など、「Redis Modules」と呼ばれる高価値コンポーネントにはRedis Source Available License Agreementが適用される。

 この変更を行ったのはRedis LabsがCommons Clauseで修正したApache License 2.0を導入してからちょうど半年後のことだ。

Commons Clauseが招いた混乱

 Redis LabsがCommons Clauseで修正したApache License 2.0を導入したのは、前述した通りパブリッククラウドのフルマネージドサービスに同社のデータベース製品が使われるのを防ぐためだった。だが同社は全く新しいライセンスを導入することにした。このライセンス方式は、Redisをベースにデータベースエンジンを構築している全ての企業に適用される。

 同社CEOのオフェル・ベンガル氏は英Computer Weeklyのインタビューに答え、この変更について次のように語った。「当社はセミオープンソースライセンスという形態を思い付いた初の企業になる」

 大手クラウドプロバイダーは、フルマネージドサービスを開発するためにRedis Labsのインメモリデータベース製品を使用していたと同氏は主張。これによる収益は何億ドルにも上ると予測されると話す。

 こうしたクラウドプロバイダーはRedis Labsのオープンソースプロジェクトに何の貢献もしていないのに、「当社よりも多くの収益を上げている」とベンガル氏は指摘する。

 Redis Labsは収益を確保するためCommons Clauseで修正したApache License 2.0を導入し、同社のデータベース製品を基盤とするマネージドサービスをクラウドプロバイダーが提供するのを制限しようと試みた。

 ただし、Commons Clauseで修正したApache License 2.0は、Redisのコミュニティーにとっても厳しいものになったことを同氏は認めている。このライセンスでは「製品やサービスの価値がRedis Labsの製品から大きく導き出されているものは販売できない」とされる。

 「コンサルティングサービスを提供しているRedisコミュニティーのメンバーから、Commons Clauseで修正したApache License 2.0ではコンサルティングサービスを販売するのが難しいという声が上がった」(ベンガル氏)

 ベンガル氏によると、新たなライセンスはソースコードを使用可能にしているという。「ソースコードは誰でも使えるし、ソースコードを変更してアプリケーションに使用することができる」

 唯一注意しなければならないのは、Redis Labsのコードから派生したソフトウェアは、

  • データベースエンジン
  • キャッシュエンジン
  • ストリーム処理エンジン
  • 検索エンジン
  • インデックスエンジン
  • 機械学習(ディープラーニング含む)、人工知能エンジン
  • RedisのAPIやRedis Modules APIを公開するあらゆる製品やサービスの開発

には使用できない点だ。

 「当社は主なユースケースを確認し、この定義は幅広く、ほとんどのユースケースに対応できると感じた。後に商用化されるソーシャルアプリケーション向けにグラフデータベースを構築する目的でRedis Moduleを使用するのは構わない。だが、RedisGraphモジュールをベースにグラフデータベース製品を開発することは許可されない」(ベンガル氏)

 この新しいライセンスの導入前に、Amazon Web Service(AWS)がAmazon DocumentDBを導入した。Amazon DocumentDBは、MongoDBとAPI互換のデータベースサービスだ。

 API互換の代替サービスをクラウドプロバイダーが提供した場合にRedisが弱体化させられるリスクについて尋ねると、同氏は次のように語った。「APIの互換性は、APIがクローズドソースでない限り避けられない。当社の場合、AWSなどによって弱体化させられる可能性は低い。AWSなどは独自のグラフデータベースを所有しているためだ」

 「AWSがRedisのModules APIを使って独自のAWSモジュールを開発するリスクがあるかどうかは分からない」(ベンガル氏)

 クラウドプロバイダーは、Redis互換モジュールを開発する時間と労力を正当化できないとベンガル氏は主張する。「ソースコードを利用してクラウドで提供するのは非常に簡単だろう。だが検索データベースやグラフデータベースのような完全に新しいAPI互換モジュールを開発する労力を費やすかどうかは疑わしい」(ベンガル氏)

 同氏は、Redis Labsなどのオープンソースデータベースプロバイダーをサポートするためにクラウドプロバイダーができることについて語り、単に人的資源でオープンソースプロジェクトに貢献するのはあまり現実的ではないとしている。

 「データベースプロジェクトは非常に複雑だ。オープンソースデータベースとなれば、コードへの貢献の99%はその製品を支える企業が行っている。このように、プロジェクトには全てを注ぎ込まなければならない」

 クラウドプロバイダーがデータベース開発の専門家を集めてオープンソースプロジェクトのサポートに着手したとしても、Redis Labsにとってはあまりに遅過ぎる。「Redisは2009年に開発が始まり10周年を迎えたところだ。今になってクラウドプロバイダーがプロジェクトに貢献し始めるのは遅過ぎる」とベンガル氏は話す。

別冊Computer Weekly Chrome OS&Chromebookのススメ

Googleの戦略転換により、Chrome OSとChromebookの企業利用は加速するのか。Windows に対するChrome OSのアドバンテージ、Windows PCをChromebook化する方法、Pixelbook の長期レビューをまとめた。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ