Redis Licensing Overview
- Redis is open sourced, available under the 3-Clause-BSD license.
- Redis Modules, which are add-ons on top of Redis, are created by people in the community and bear different licenses according to each creator’s choice.
- Redis Modules created by Redis Labs (e.g. RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom) are licensed under the Redis Source Available License (RSAL). Read more about RASL below.
- Redis Enterprise is closed source and requires a commercial license from Redis Labs. Read more here.
About the Redis Source Available License (RSAL)
RSAL is a software license created by Redis Labs for certain Redis Modules running on top of open source Redis. RSAL grants equivalent rights to permissive open source licenses for the vast majority of users. With RSAL, developers can use the software, modify the source code, integrate it with an application, and use, distribute or sell the application. The only restriction is that the application cannot be a database, a caching engine, a stream processing engine, a search engine, an indexing engine or an ML/DL/AI serving engine.
What limitations does RSAL impose on my use of Redis Labs’ Modules?
Software protected by RSAL is designed to be used as part of an application. We want to help and encourage people to develop their own applications, but RSAL differentiates between a “database product” and all other applications. RSAL defines a database product as any of the following products or services: (a) databases, (b) caching engines, (c) stream processing engines, (d) search engines, (e) indexing engines or (f) ML/DL/AI serving engines.
If your application built with RSAL-protected software is NOT a database product, RSAL defines it as “your application,” and you can:
- Freely distribute the RSAL-protected software, as long as you include the following notice on any copy you distribute: “This software is subject to the terms of the Redis Source Available License Agreement.”
- Freely modify the RSAL-protected software, as long as your modification is covered by the RSAL license.
- Freely use the RSAL-protected software, as long as it is not part of a “database product” offered by a third party other than yourself or Redis Labs.
Why did Redis Labs adopt RSAL?
Modern open source infrastructure software has created more value over the past decade than we could have ever imagined. Databases, orchestrators, distributed systems and other software technologies now power nearly every business on the planet — all thanks to the shared, collaborative philosophy of the open source community.
However, some cloud providers have repeatedly taken advantage of successful open source projects, without significant contributions to their communities. They repackage software that was not developed by them into competitive, proprietary service offerings and use their business leverage to reap substantial revenues from these open source projects.
Redis Labs has been leading and financing the development of open source Redis for years, and at the same time believe we deserve the fruits of these efforts. While the Redis core is and will always remain available under the open source BSD license, in order to keep our business and the Redis project sustainable, we’ve decided to license certain modules built by Redis Labs (e.g. RediSearch, RedisGraph, RedisJSON, RedisBloom, RedisML) with the Redis Source Available License.
Why did you change from Apache2 modified with Commons Clause to RSAL?
Commons Clause, the license previously used for Redis Labs’ modules, was initiated by a coalition of infrastructure software companies to protect their rights against cloud providers. The concept was based on adding a restriction to existing open source software licenses to limit commercial sale of the software.
We created RSAL to address all these concerns and provide maximum freedom of use (similar to permissive open source licenses), while continuing to protect our rights against cloud providers.
Why didn’t you use AGPL for Redis Modules?
We initially licensed some of Redis Labs’ early Redis Modules under AGPL. However, we later realized that AGPL did not prevent cloud providers from creating managed services using our code. Furthermore, we received requests from developers at large enterprises to move from AGPL to a more permissive license, because the use of AGPL was against their company policies.
How does RSAL affect me?
- For a software or SaaS distributor — If you do not intend to distribute a “database product” (as defined by RSAL), RSAL is not limiting at all. The only thing you need to do when you distribute an application built with RSAL-protected software is include a notice that your product is subject to the terms of RSAL.
- For a software or SaaS user — You can use a “database product” (as defined by RSAL), which includes RSAL-protected software or a modification thereof, as long as the software or SaaS applications are not distributed or otherwise made available by any third party (other than yourself or Redis Labs).
- For a software or SaaS developer — You can freely modify any RSAL-protected software, as long as the modified version is subject to the RSAL license.
Is RSAL open source?
Although the source code is available under RSAL, according to the Open Source Initiative (OSI), an open source license cannot include limitations. Therefore, certain restrictions imposed by RSAL mean that any software under this license is not open source by definition. However, in practice, RSAL is very similar to permissive open source licenses, and only restricts cloud providers from gaining commercial benefit from software that was not developed by them.
How do I contribute to Redis repositories under RSAL?
When will RSAL be effective?
RSAL will apply from the following Redis Module versions as of February 21st, 2019:
- RediSearch 1.4.4
- RedisGraph 1.0.14
- RedisJSON 1.0.4
- RedisML 0.99.2
- RedisBloom 1.1.1
My company has a policy against using code that restricts commercial use – can I still use Redis Modules protected under RSAL?
If you are not distributing a “database product”, or using a Redis service by a cloud provider, RSAL should not restrict you in any way.
Can I customize RSAL-protected software?
Yes. RSAL is similar in this sense to permissive open source licenses. You can modify the software, integrate the variant into your application, and distribute and sell your application, as long as your application is not a “database product” (as defined by RSAL). The only thing you need to do is include a notice that your product is subject to the terms of RSAL.
Can I provide commercial support to RSAL-protected Redis Modules?
Absolutely! One of the main reasons we moved to RSAL was to help grow the ecosystem around our modules. In this spirit, commercial support by a third party is more than welcome.
Why didn’t you use a closed source license for Redis Modules?
We want to provide developers with free access to our Redis Modules source code — including rights to modify it, integrate it with their applications and freely distribute or sell their applications. Since this wouldn’t be possible with a closed source license, we decided to use the more permissive RSAL.
I have a Redis Enterprise license (or DBaaS subscription). Does RSAL affect me?
The Redis Enterprise commercial license covers Redis Modules integrated with Redis Enterprise. Therefore, RSAL is not applicable in this case. For further clarification, please contact your account manager.
Does RSAL apply to Redis open source?
No. Open source Redis remains under 3-Clause-BSD. Furthermore, we continue to support the open source project by adding advanced features and fixing bugs in the same way we always have.