Redis Labs, citing lack of support from the large cloud providers, has pulled back on some of the open source licensing around its popular Redis NoSQL in-memory data store.
While the core of Redis itself remains under the permissive BSD license, the company has reworded the licensing for some of its add-on modules, in effect blocking their use by third parties offering commercial Redis-based services — most notably cloud providers. Redis Labs was able to make this change because it retains the copyright to the open source code.
Today’s cloud providers have repeatedly taken “advantage of successful open source projects and repackaging them into competitive, proprietary service offerings,” Redis Labs asserted in a web page posted earlier this week. “Cloud providers contribute very little (if anything) to those open source projects. Instead, they use their monopolistic nature to derive hundreds of millions [of] dollars in revenues from them. Already, this behavior has damaged open source communities and put some of the companies that support them out of business.”
Amazon Web Services, Google Cloud Platform, IBM and Microsoft Azure all offer Redis as a managed service. AWS’ ElasticCache service is based on Redis, as is the Azure Redis Cache. Redis Labs itself, however, finances the development of open source Redis, and, as a result, “deserves to enjoy the fruits of these efforts,” the company asserted. The company also offers a managed Redis service on most of the major cloud providers, through Redis Enterprise Cloud.
The modules in question are used to help create managed services on top of Redis, namely RediSearch, Redis Graph, ReJSON, Redis-ML, and Rebloom. Licensed under Apache 2.0 modified with Commons Clause, these can still be freely used in any application, though they can’t be used in a commercial Redis-based offering. For that, you will have to call Redis Labs and work out a paid licensing arrangement.
On the latest TNS Context podcast, which will be out later on Friday, Google developer advocate Kelsey Hightower, speaking off the cuff to the recent news, pointed out that “I think they made a business decision. I think paying customers understand these things a little bit better: Most companies aren’t in business to make zero dollars.”
Industry observer, and MongoDB veteran, Matt Asay was a bit more cynical, pointing out, also on Twitter, that the move may not be an effective one for the company. “Most of the finger-wagging over Redis Labs’ license change is wrong, silly, or both. But so is the purpose behind the [Redis Labs] decision. [Redis Labs] seems to think AWS et al will pay up for a license. Let me don my old MongoDB hat for a minute to give some advice: they won’t,” he wrote.
While many agree with what Redis is doing in theory, they do wonder the effect these changes will make to the Redis community itself. As early MongoDB contributor and current VMware product manager Jared Rosoff pointed out on Twitter, “I think lots of people just feel like the rules changed out from under them. Even if the result of the change isn’t controversial, it’s hard to trust a platform that can change on a whim.”
Others feel that professional Redis users should have anticipated this possibility. Chef Chief Technology Officer Adam Jacob wrote in a Twitter thread that “At any minute, if you used that software in a derivative work, you ran the risk that the single copyright holder decided that in order to get future work, you were going to have to comply with whatever terms they dictated. As a business owner, shame on you if you didn’t know it.”
Danger for Redis?
The database Redis is incredibly popular according to the 2018 StackOverflow Developer Survey. The StackOverflow study reported Redis was the “most loved” of any database, which means that based on future plans it expects to retain the largest percentage users over the next year. Of the 18 percent of developers that use Redis, 65 percent want to use the database in the future. Moreover, many of the largest Web and mobile services rely on Redis for fast delivery of cached content, including Pinterest, Tumblr, Instagram, GitHub, Docker Hub, and Stack Overflow.
Yet, with a for-profit entity taking advantage of an “open core” business model, it remains to be seen which users will stop using the database because they want to use something with more permissive licensing. If there is a revolt, users may fork the existing project and create a foundation to govern its management. Or, perhaps people will switch to another open source database.
If people decide that only want to use a pure open source solution, the leading alternatives on their roadmaps — PostgreSQL, Elastisearch, MongoDB and MySQL — are all open source to some degree. Both Elastisearch and MongoDB also have corporate parents steering their future, which means Redis users do not have a lot of choices if they are looking to avoid commercial control of the database their stack depends on.
Chef, Google and Microsoft are sponsors of The New Stack.
Feature image via Pixabay.