AWS、商用サービス化を制限するライセンス変更に対抗し「Elasticsearch」をフォーク、独自のオープンソース版へ
AWSは、オープンソースで開発されている検索エンジン「Elaticsearch」とデータの可視化ツール「Kibana」をフォークし、独自ディストリビューションを作成すると発表しました(AWS日本語ブログ)。
We are committed to open source. To help keep Elasticsearch and Kibana open for everyone, we are announcing that we will launch new forks of both Elasticsearch and Kibana based on the latest Apache 2.0 licensed codebases. https://t.co/ngpxcNtiDO pic.twitter.com/STAcVtJLPE
— Amazon Web Services (@awscloud) January 21, 2021
これはElasticsearchとKibanaの開発元であるElastic社が、AWSはElasticsearchの商標を無断で利用しているなどとしてAWSを名指しで非難し、AWSの商用利用を制限するライセンス変更を発表したことに対抗する措置として行われるものです。
参考:AWSをElasticが名指しで非難。ElasticsearchとKibanaのライセンスを、AWSが勝手にマネージドサービスで提供できないように変更へ
今後のAmazon Elasticsearchは、AWS版ディストリビューションを採用
AWSは、オープンソースのElasticsearchをマネージドサービスとして提供する「Amazon Elasticsearch Service」を提供しています。
今回Elastic社が発表したライセンス変更は、Elastic社の許可なくElasticsearchを商用サービスで提供することを制限する内容になっているため、このままでは「Amazon Elasticsearch Service」の継続的な提供ができなくなります。
AWSが取りうる主な選択肢は2つありました。
1つはElastic社と商用利用の契約を結ぶことで、ライセンス変更後もElastic社が開発するElasticsearchのソースコードをベースに商用サービスを継続すること。
そしてもう1つが、ライセンス変更前のソースコードを基にフォークを作成して独自のオープンソース版を作り、それを基に商用サービスを継続することです。
AWSが今回選んだのは後者でした(ちなみにGoogleやマイクロソフトなど、Elasticsearchのマネージドサービスを提供している多くのクラウドベンダが前者を選択したとされています)。
その理由は「To help keep Elasticsearch and Kibana open for everyone,」(すべての人にとってElasticsearchとKibanaがオープンであることを維持するための支援)としています。
AWSのブログ「Elastic 社による Elasticsearch および Kibana のライセンス変更にともなう AWS の対応方針のご案内」から、一部を引用します。
AWS は Elasticsearch と Kibana のバージョン 7.10 をベースに fork した Elasticsearch と Kibana を ALv2 ライセンスにて公開します。こちらは今後数週間以内に、新しい Github リポジトリを作成する形にて公開される予定です。このリポジトリは Open Source Software (OSS) として、継続的にバグ修正や新機能、機能拡張を提供していきます
Elasticsearchは2つに分裂していく可能性
AWSは、Elastic社が2019年にオープンソースのElasticsearchのコードと一緒に、Elastic社が有償で提供している機能「X-Pack」のコードを商用ライセンスで公開したときに、オープンソースのコード部分だけを集めた独自のディストリビューション「Open Distro for Elasticsearch」を作成しました。
これが今回のAWSによる独自ディストリビューションの基礎となっています。
参考:AWSが、Elasticsearchのコードにはプロプライエタリが混在しているとして、OSSだけで構成される「Open Distro for Elasticsearch」を作成し公開
AWSはこの2019年当時、「Open Distro for Elasticsearch」は「フォークではない」と明示していました。この時点では、AWSはElasticsearchに対する独自の機能追加やバグフィクスをするつもりがなかったことを示していたはずです。
しかし今回、AWSは「Open Distro for Elasticsearch」がライセンス変更前のElasticsearchとKibanaのフォークであるとはっきり表現しました。そして継続的にバグ修正や新機能、機能拡張を提供していくと書いています。
ブログの中で「AWS はこれまでどおり、OSS に対しての貢献を継続していきます。」とも書いていますが、(ライセンス変更後のElasticsearchとKibanaはオープンソースではなくなり)Elasticsearchのオープンソース版はAWSの「Open Distro for Elasticsearch」であるため、そのオープンソースに貢献していくことを(ある意味で巧妙に)表現していると言えます。
今後のAWSの開発方針によっては、ElasticsearchとKibanaは、Elastic社版とAWS版にそれぞれ異なる方向へと分裂していく可能性もあるでしょう。
Elastic社もよりよいライセンスを模索
Elastic社は今回、ElasticsearchとKibanaのライセンスをApache 2.0から「Server Side Public License」(SSPL)と「Elastic License」のデュアルライセンスへ変更することを発表しましたが、デュアルライセンスではなくもっとシンプルなライセンスによる商用サービスの制限も検討していることを表明しています。
そのライセンスはMariaDBが作った「Business Source License 1.1」(BSL)です。MariaDBだけでなくCockroachDBも採用しています。
参考:オープンソースのCockroachDBも大手クラウドに反発してライセンスを変更、商用サービスでの利用を制限。ただし3年後にオープンソースに戻る期限付き
これは利用者が自身のためにソースコードのコピー、改変、派生物の作成、再配布などが許されている一方、下記の様に、許可のないサービスの提供を制限し、サブスクリプション契約のないユーザーは有償機能の改変を許さず、商標の削除や置き換えなども許可しない、といった内容です。
- You may not use the licensed work to provide an "Elasticsearch/Kibana as a Service" offering.
- You may not hack the software to enable our paid features without a subscription.
- You may not remove, replace or hide the Elastic branding and trademarks from the product. (e.g. do not replace logos, etc).
Elastic社はこのBSLを最新のソースコードに3年から5年程度の期限付きで設定し、期限後は自動的にApache 2.0ライセンスに置き換わるようにすることで、より緩やかなライセンス設定にできるのではないかと検討しているとのこと(CockroachDBも期限付きBSLを設定しています)。
BSLはOpen Source Initiativeが認めるオープンソースライセンスではないものの、Open Source Initiativeの創立者であるBruce Perens氏が2017年に一定の評価をしていることが本人のブログに記されています。
今後もしかしたら、Open Source Initiativeが認めるオープンソースライセンスでありつつ、商業サービスとしての利用を制限できるようなライセンスが生まれるかもしれません。
そうしたライセンスが広まれば、AWSをはじめとするクラウドベンダにとっては現在より面倒な状況になりかねません。
AWSはElasticsearchとKibanaのフォークを作成する理由として「To help keep Elasticsearch and Kibana open for everyone,」と書いています。しかしそのオープンさをこれまで支えてきた開発者やコミュニティとの対話が十分であったようには見えません。
AWSが今回Elastic社に歩み寄らなかったことで、長期的にはオープンソース開発者やコミュニティの反発を引き起こし、例えばBSLのようなライセンスがオープンソースライセンスとして認められ、自社のビジネスを面倒な状況へ追い込んでしまう可能性を高めてしまうのではないか。今回の動きはAWSが顧客とビジネスを優先させるあまりに、そんな悪手を打ったようにも見えます。
追記:2021年3月、AWSはOpenSearchプロジェクトを発表し、その後2024年9月にOpenSearchプロジェクトはLinux Foundation傘下となりました。
- AWS、ElasticsearchとKibanaのフォークによる「OpenSearch」プロジェクトを発表。Elasticとの溝は埋まらないまま
- AWSが主導する「OpenSearch」、Linux Software Foundation傘下の「OpenSearch Software Foundation」発足
関連記事
- ElasticのクライアントライブラリがAWS OpenSearchへの接続を排除。AWSは仕方なくクライアントライブラリのフォークを発表
- AWSをElasticが名指しで非難。ElasticsearchとKibanaのライセンスを、AWSが勝手にマネージドサービスで提供できないように変更へ
- AWSが、Elasticsearchのコードにはプロプライエタリが混在しているとして、OSSだけで構成される「Open Distro for Elasticsearch」を作成し公開
- AWS、ElasticsearchとKibanaのフォークによる「OpenSearch」プロジェクトを発表。Elasticとの溝は埋まらないまま
- オープンソースのCockroachDBも大手クラウドに反発してライセンスを変更、商用サービスでの利用を制限。ただし3年後にオープンソースに戻る期限付き
- Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発
- [速報]Google、大手クラウドに不満を表明していたMongoDB、RedisらOSSベンダと戦略的提携。Google CloudにOSSベンダのマネージドサービスを統合。Google Cloud Next '19
- クラウドベンダなどによるサービス利用を制限したMongoDBの新ライセンス「SSPL」を理由にDebian、Fedora、RHELがMongoDBの配布取りやめを表明
あわせて読みたい
テスト自動化クラウドサービスの「Autify」、iOSネイティブアプリのテスト自動化に対応、実機不要。これまでのWebアプリに加えて
≪前の記事
ITエンジニアが投票した「ITエンジニア本大賞2021」ベスト10発表。「オブジェクト指向UIデザイン」「Clean Agile」「思考法図鑑」など