Redisのライセンスとは?種類とビジネス利用の注意点

Redisのライセンスとは?種類とビジネス利用の注意点

Redisは、インメモリデータストアとして、その高速性と柔軟性から広く利用されています。しかし、そのライセンスは複数存在し、ビジネス利用においては注意が必要です。本記事では、Redisのライセンスの種類、それぞれの特徴、そしてビジネス利用における注意点について詳細に解説します。

1. Redisとは何か? その魅力と用途

Redis (Remote Dictionary Server) は、キーバリューストア型のインメモリデータストアであり、オプションでディスクへの永続化も可能です。他のデータベースと比較して、その高速性と多様なデータ構造のサポートが特徴です。

1.1. Redisの主な特徴

  • インメモリ処理: データをメモリ上に展開するため、非常に高速な読み書きが可能です。
  • 多様なデータ構造: キーバリューストアとして単純な文字列だけでなく、リスト、セット、ハッシュ、ソート済みセット、ビットマップ、ハイパーログログ、ジオスペーシャルインデックスなど、様々なデータ構造をサポートしています。
  • 永続化: メモリ上のデータを定期的にディスクに書き出すことで、障害発生時のデータ損失を軽減できます。RDB (Redis Database) と AOF (Append Only File) の2種類の永続化方式があります。
  • 高可用性: Redis SentinelやRedis Clusterを利用することで、システムの可用性を高めることができます。
  • Luaスクリプト: Luaスクリプトを実行することで、複雑な処理をサーバーサイドで実行できます。
  • Pub/Sub: パブリッシュ/サブスクライブモデルをサポートしており、リアルタイムなメッセージングシステムを構築できます。

1.2. Redisの主な用途

Redisはその特徴から、以下のような用途で広く利用されています。

  • キャッシュ: データベースの負荷を軽減するために、頻繁にアクセスされるデータをキャッシュとして保存します。
  • セッション管理: Webアプリケーションのセッションデータを保存します。
  • リアルタイム分析: ストリームデータをリアルタイムに処理し、分析結果を保存します。
  • メッセージキュー: 非同期処理のために、メッセージをキューとして保存します。
  • ランキング: ユーザーのスコアなどをソート済みセットに保存し、リアルタイムなランキングを表示します。
  • 地理空間インデックス: 地理的な位置情報を保存し、特定の場所からの距離に基づいて検索を行います。

2. Redisのライセンスの歴史と現状

Redisのライセンスは、開発の歴史と共に変化してきました。初期の頃はBSDライセンスでしたが、その後、変更を経て現在は2種類のライセンスが存在します。

2.1. 初期のBSDライセンス (3条項BSDライセンス)

Redisの初期のバージョンは、3条項BSDライセンスのもとで公開されていました。BSDライセンスは、非常に寛容なライセンスであり、商用利用、変更、配布を自由に行うことができます。ただし、再配布時には著作権表示と免責条項を含める必要があります。

2.2. Redis Source Available License v2.0 (RSALv2)

2020年、Redis Labs (現Redis Inc.) は、RedisのライセンスをRedis Source Available License v2.0 (RSALv2) に変更しました。RSALv2は、商用利用を制限する条項を含むSource Availableライセンスです。具体的には、Redisをデータベース、キャッシュエンジン、ストリームエンジン、メッセージキューとして提供する商用製品やサービスを構築することを禁じています。

2.3. Server Side Public License v1 (SSPLv1)

同時に、Redis LabsはRedisをServer Side Public License v1 (SSPLv1) の下でも公開しました。SSPLv1は、AGPL (Affero General Public License) をベースにしたライセンスであり、ネットワーク経由でサービスを提供する場合には、そのサービスのソースコード全体を公開することを義務付けています。

2.4. ライセンス変更の背景

Redis Labsがライセンスを変更した背景には、クラウドプロバイダーがRedisをマネージドサービスとして提供し、収益を上げているにも関わらず、Redisの開発に貢献していないという問題がありました。ライセンス変更は、Redis LabsがRedisの開発を継続するための資金を確保し、コミュニティへの貢献を促進することを目的としています。

2.5. 現在のRedisのライセンス

現在、Redisは以下の2種類のライセンスで提供されています。

  • Redis Source Available License v2.0 (RSALv2): 商用利用を制限するSource Availableライセンス。
  • Server Side Public License v1 (SSPLv1): ネットワーク経由でサービスを提供する場合には、ソースコードの公開を義務付けるライセンス。

2.6. コミュニティ版Redis (Redis Open Source)

ライセンス変更後も、コミュニティによって開発されているRedis Open Sourceが存在します。Redis Open Sourceは、BSDライセンスのまま開発が継続されており、商用利用の制限はありません。ただし、Redis Open SourceはRedis Inc.が提供するRedis Enterpriseと比較して、機能やサポートが限定される場合があります。

3. 各ライセンスの詳細な解説

ここでは、RedisのライセンスであるRSALv2とSSPLv1、そしてRedis Open Sourceが利用するBSDライセンスについて、それぞれ詳細に解説します。

3.1. Redis Source Available License v2.0 (RSALv2)

RSALv2は、Redis Inc.が開発したライセンスであり、以下の条項が含まれています。

  • 使用許諾: Redisの利用、複製、変更、配布を許可します。
  • 制限事項: Redisをデータベース、キャッシュエンジン、ストリームエンジン、メッセージキューとして提供する商用製品やサービスを構築することを禁じます。
  • 著作権表示: Redisの著作権表示を保持する必要があります。
  • 免責条項: Redisの使用によって生じた損害について、Redis Inc.は責任を負いません。

RSALv2の最大のポイントは、商用利用の制限です。例えば、Redisを組み込んだアプリケーションを開発し、そのアプリケーションを有償で販売することは問題ありません。しかし、Redisをマネージドサービスとして提供し、そのサービスを有償で提供することは禁止されています。

RSALv2の具体的な例:

  • 許可される利用:
    • Redisをアプリケーションの内部的なキャッシュとして利用する。
    • RedisをWebアプリケーションのセッションストアとして利用する。
    • Redisをランキングシステムのデータストアとして利用する。
    • Redisを組み込んだアプリケーションを有償で販売する。
  • 許可されない利用:
    • RedisをマネージドRedisサービスとして提供する。
    • Redisをデータベースサービスの一部として提供する。
    • Redisをキャッシュエンジンサービスとして提供する。
    • Redisをメッセージキューサービスとして提供する。

3.2. Server Side Public License v1 (SSPLv1)

SSPLv1は、AGPLをベースにしたライセンスであり、以下の条項が含まれています。

  • 使用許諾: Redisの利用、複製、変更、配布を許可します。
  • ソースコードの公開: Redisをネットワーク経由でサービスとして提供する場合、そのサービスのソースコード全体を公開する必要があります。
  • 著作権表示: Redisの著作権表示を保持する必要があります。
  • 免責条項: Redisの使用によって生じた損害について、Redis Inc.は責任を負いません。

SSPLv1の最大のポイントは、ネットワーク経由でサービスを提供する場合には、ソースコード全体を公開する必要があるという点です。これは、Redisをマネージドサービスとして提供する場合だけでなく、Redisを利用するWebアプリケーションを公開する場合にも適用される可能性があります。

SSPLv1の具体的な例:

  • ソースコードの公開が必要な場合:
    • Redisをバックエンドに利用するWebアプリケーションを公開し、ユーザーが利用できるようにする。
    • RedisをマネージドRedisサービスとして提供する。
  • ソースコードの公開が不要な場合:
    • Redisを個人の開発環境で使用する。
    • Redisを社内システムで使用する。
    • Redisを組み込んだアプリケーションをオフラインで配布する。

3.3. BSDライセンス (3条項BSDライセンス)

Redis Open Sourceは、BSDライセンス (3条項BSDライセンス) のもとで公開されています。BSDライセンスは、非常に寛容なライセンスであり、以下の条項が含まれています。

  • 使用許諾: Redisの利用、複製、変更、配布を許可します。
  • 著作権表示: Redisの著作権表示を保持する必要があります。
  • 免責条項: Redisの使用によって生じた損害について、開発者は責任を負いません。

BSDライセンスは、商用利用、変更、配布を自由に行うことができます。そのため、Redis Open Sourceは、商用利用を目的とする場合にも、安心して利用することができます。

4. ビジネス利用における注意点

Redisをビジネス利用する際には、ライセンスを十分に理解し、適切なライセンスを選択する必要があります。ここでは、ビジネス利用における注意点を解説します。

4.1. 商用利用の範囲を明確にする

まず、Redisをどのような目的で使用するのか、商用利用の範囲を明確にする必要があります。

  • Redisをアプリケーションの内部的なコンポーネントとして利用する場合: RSALv2またはBSDライセンスのRedis Open Sourceを利用できます。
  • Redisをマネージドサービスとして提供する場合: SSPLv1のRedisを利用し、ソースコードを公開するか、Redis Inc.から商用ライセンスを取得する必要があります。
  • Redisをデータベース、キャッシュエンジン、ストリームエンジン、メッセージキューとして提供する商用製品やサービスを構築する場合: RSALv2のRedisは利用できません。SSPLv1のRedisを利用し、ソースコードを公開するか、Redis Inc.から商用ライセンスを取得する必要があります。

4.2. ライセンス違反のリスクを回避する

ライセンス違反は、法的な問題に発展する可能性があります。そのため、Redisのライセンスを十分に理解し、違反のリスクを回避する必要があります。

  • RSALv2の制限事項を遵守する: Redisをデータベース、キャッシュエンジン、ストリームエンジン、メッセージキューとして提供する商用製品やサービスを構築しないように注意する必要があります。
  • SSPLv1のソースコード公開義務を遵守する: Redisをネットワーク経由でサービスとして提供する場合には、ソースコード全体を公開する必要があります。
  • 不安な場合は専門家に相談する: ライセンスについて不明な点がある場合は、弁護士などの専門家に相談することをおすすめします。

4.3. Redis Open Sourceの利用を検討する

商用利用に制限がないRedis Open Sourceの利用を検討することも可能です。ただし、Redis Open SourceはRedis Inc.が提供するRedis Enterpriseと比較して、機能やサポートが限定される場合があります。

4.4. Redis Inc.の商用ライセンスを検討する

商用利用の制限を回避したい場合や、Redis Enterpriseの機能を利用したい場合には、Redis Inc.から商用ライセンスを取得することを検討してください。商用ライセンスを取得することで、Redisの商用利用に関する制限が緩和され、Redis Enterpriseのサポートを受けることができます。

5. Redisの選択肢: Redis Open Source vs. Redis Enterprise

Redisを利用する上で、Redis Open SourceとRedis Enterpriseという2つの選択肢があります。それぞれの特徴を比較し、自社のニーズに合った選択肢を選択することが重要です。

5.1. Redis Open Source

  • ライセンス: BSDライセンス
  • 料金: 無料
  • 機能: 基本的なRedisの機能
  • サポート: コミュニティによるサポート
  • メリット:
    • 商用利用の制限がない
    • 無料で利用できる
  • デメリット:
    • Redis Enterpriseと比較して機能が限定される
    • コミュニティによるサポートのみ

5.2. Redis Enterprise

  • ライセンス: 商用ライセンス (Redis Inc.から購入)
  • 料金: 有料
  • 機能: Redis Open Sourceの機能に加えて、エンタープライズ向けの高度な機能 (Active-Active Geo-Distribution, Redis Modulesなど)
  • サポート: Redis Inc.による商用サポート
  • メリット:
    • エンタープライズ向けの高度な機能が利用できる
    • Redis Inc.による商用サポートを受けられる
    • 商用利用に関する制限が緩和される
  • デメリット:
    • 有料である

5.3. どちらを選ぶべきか?

どちらを選択すべきかは、以下の要素を考慮して判断する必要があります。

  • 予算: 無料で利用したい場合はRedis Open Source、予算に余裕がある場合はRedis Enterprise。
  • 必要な機能: 基本的な機能で十分な場合はRedis Open Source、エンタープライズ向けの高度な機能が必要な場合はRedis Enterprise。
  • サポート: コミュニティによるサポートで十分な場合はRedis Open Source、商用サポートが必要な場合はRedis Enterprise。
  • 商用利用の範囲: 商用利用の制限を回避したい場合はRedis Open Source、商用ライセンスを取得すればRedis Enterpriseも利用可能。

6. まとめ: Redisのライセンスを理解し、適切な利用を

Redisは、その高速性と柔軟性から、多くの企業で利用されています。しかし、そのライセンスは複雑であり、ビジネス利用においては注意が必要です。

  • Redisには、RSALv2, SSPLv1, BSDライセンスの3種類のライセンスが存在します。
  • RSALv2は商用利用を制限するSource Availableライセンスです。
  • SSPLv1はネットワーク経由でサービスを提供する場合には、ソースコードの公開を義務付けるライセンスです。
  • BSDライセンスは、商用利用、変更、配布を自由に行うことができる寛容なライセンスです。
  • Redisをビジネス利用する際には、ライセンスを十分に理解し、適切なライセンスを選択する必要があります。
  • Redis Open SourceとRedis Enterpriseという2つの選択肢があり、自社のニーズに合った選択肢を選択することが重要です。

本記事が、Redisのライセンスに関する理解を深め、適切な利用を促進する一助となれば幸いです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール