Redis7.4からのライセンス変更について
はじめに
Redisが7.4からライセンスをBSDからSSPLv1, RSALv2のデュアルライセンスにすることを発表した。自分が関わっているサービスでもRedisを活用しているため、どのような影響があるのか調査した。
まとめ
- ライセンスの変更はバージョンを遡って適用されることはない
- 影響を受けるのはRedisの競合サービスであり、Redisを活用しているもののRedisそのものと競合しない場合には影響がない
- AWSなどのクラウドサービスプロバイダーが無償で7.4以降のRedisを使うことはできなくなる
- OSS界隈からの反応は厳しいものもあり今後Redisのプレゼンスは下がる可能性もある
詳細
そもそもの経緯はAWSなどへの反発
ライセンス変更に至った経緯はAWSなどのクラウドサービスプロバイダーが無償でRedisの貢献にタダ乗りすることへの反発である。
クラウドプロバイダーとOSSの対立は以前からのトレンドでありElastic, MongoDB, Kafka, CockroachDB, HashiCorpなどが対立している。
AWSなどの「オープンソースのいいとこ取り」に開発元が猛反発、続々とライセンス変更 |ビジネス+IT
List of formerly open-source or free software
ライセンスの変更はバージョンを遡って変更されることはない
Can I continue to use versions of the products that were provided under the original 3-clause BSD license?
Yes. The license change is not retroactive. This means all source code and releases prior to the change remain under the 3-clause BSD license.
https://redis.com/blog/redis-adopts-dual-source-available-licensing/
公式に明記されており、Redis7.4以前のバージョンを使用する限りはどのような場合にもライセンス変更による影響は受けない。
影響を受けるのはRedisの競合サービスであり、Redisを活用しているもののRedisそのものと競合しない場合には影響がない
Who is impacted by this change?
If you are building a solution that leverages Redis, but does not specifically compete with Redis itself, there is no impact.
A “competitive offering” is a product that is sold to third parties, including through paid support arrangements, that is derived from the Redis’ code-base and significantly overlaps the capabilities of a Redis commercial product
Under the new license, cloud service providers hosting Redis offerings will no longer be permitted to use the source code of Redis free of charge.
https://redis.com/blog/redis-adopts-dual-source-available-licensing/
Redisの機能と重大な重複があるサービスを提供する場合に影響を受けると複数の記述があり、新しいライセンスではRedisをホスティングするクラウドサービスプロバイダーが無償で使えなくなると記述がある。
もともと、AWSなどのクラウドサービスプロバイダーが無償でRedisの貢献にタダ乗りすることへの反発であり通常の開発者への影響はないことを強調しているように読める。
RSALv2, SSPLv1のデュアルライセンスとは?
RSALv2
Redis Source Available License v2の略。
ソフトウェアをサービスとして第三者に提供することができない。
You may not make the functionality of the Software or a Modified version available to third parties as a service or distribute the Software or a Modified version in a manner that makes the functionality of the Software available to third parties.
https://redis.com/legal/rsalv2-agreement/
SSPLv1
Server Side Public License v1の略。
ソフトウェアを「サービス」の一部として第三者が利用できるようにする場合、ソースコードをすべて公開する必要がある。
as part of a “service” must release the source code for the entirety of the service
https://www.mongodb.com/legal/licensing/server-side-public-license
デュアルライセンス
今回の場合2つのライセンスからどちらかを選択することを指す
users can apply either RSALv2 or SSPLv1.
https://redis.com/legal/licenses/
RSALv1もSSPLv1もas a service
を強調しているので、単にRedisを使用しているか否かではなくサービスとしてRedisそのものを提供しているか否かが焦点となるように思われる。
(ただし、その判断のコストが必要になる時点で使いづらくはなる)
今後Redisのプレゼンスはどうなる?
Xの反応を始め、OSS界隈からの反応はけっこう厳しいものもある。
Linux FoundationはRedisをforkして「Valkey」を立ち上げている。AWS, Google, Oracleなどもサポートするとのこと。
Linux Foundation Launches Open Source Valkey Community
MicrosoftはRedisをサポートするようだが、一方で「Garnet」というRedis互換のソフトウェアをリリースしている。
https://github.com/microsoft/garnet
結局どう判断すればいい?
- 7.4以上に上げる必要がなければそれ以前のバージョンを使い続けて問題ない
- 7.4以上に上げる必要がある場合は、Redisそのものと競合している製品であるかを判断する必要がある
- 経緯やRedis側の声明からすれば多くのエンドユーザーは競合製品には当たらないと思われる
- わからない場合はRedis側に確認を取ることもできるとのこと
- 判断コストを取らず代替のValkey, Garnet, memcachedなどを調査するという選択もある
参考
Redisがライセンスを変更、BSDライセンスからRSAL/SSPLデュアルライセンスに
https://redis.com/legal/licenses/
https://redis.io/docs/about/license/
Discussion