# Redis is not "open core"

DevFeed: [Redis is not "open core"](<https://devfeed.tech/articles/redis-is-not-open-core-20612.md>)

Original publisher: [Read original article](<http://antirez.com/news/121>)

Published: 2018-08-24T22:38:52Z

Content type: opinion

Language: en

Sources: [Antirez](<https://devfeed.tech/sources/antirez.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [modules](<https://devfeed.tech/topics/modules.md>), [software-development](<https://devfeed.tech/topics/software-development.md>)

Tags: [modular](<https://devfeed.tech/tags/modular.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [redis](<https://devfeed.tech/tags/redis.md>), [software-development](<https://devfeed.tech/tags/software-development.md>)

## AI overview

The article argues that Redis should not be classified as an open-core technology. It distinguishes the BSD-licensed Redis core from certain Redis Labs modules with different licensing, and explains that Redis's modular design was not intended to remove useful functionality from the free software component.

## Source excerpt

Human beings have a strong tendency to put new facts into pre-existing categories. This is useful to mentally and culturally classify similar events under the same logical umbrella, so when two days ago I clarified that the Redis core was still released under the vanilla BSD license, and only certain Redis modules developed by Redis Labs were going to change license, from AGPL to a different non open source license, people said "Ah! Ok you are going open core". The simplification this time does not work if it is in your interest to capture the truth of what is happening here. An open core technology requires two things. One is that the system is modular, and the other is that parts of such system are made proprietary in order to create a product around an otherwise free software. For example providing a single node of a database into the open source, and then having the clustering logic and mechanism implemented in a different non-free layer, is an open core technology. Similarly is open core if I write a relational database with a modular storage system, but the only storage that is able to provide strong guarantees is non free. In an open core business model around an open source system it is *fundamental* that you take something useful out of the free software part. Now for some time Redis is a modular system. You can use Redis modules in order to write many things, including new distributed systems using the recently introduced cluster message bus API, or new data types that look native. However the reason to make Redis modular was not to remove something useful from the system and put a price tag on it. For instance one of the new data structures in Redis 5, the streams, are part of the core and are released under the BSD license. Streams were implemented when Redis was already a modular system. Redis modules started from a different observation. As a premise I should say that I'm a very conservative person about software development. I believe that Redis shoul