
Redis is not “open core” - stock_toaster
http://antirez.com/news/121
======
clarkevans
This approach is open core. The open core model funds open source work by
finding "market differentiating features" and keeping them proprietary in
order to charge clients who might pay. Bruce Perens wrote about this in his
classic post, "The emerging economic paradigm of Open Source" [2005]. This is
what you're doing.

[http://firstmonday.org/ojs/index.php/fm/article/view/1470/13...](http://firstmonday.org/ojs/index.php/fm/article/view/1470/1385)

Frankly, I think it is great that RedisLabs is using proprietary [1] software
in order to sustain and fund improvements for real, honest to goodness free &
open source software. Thank you.

[1] "Commons Clause" is proprietary and non-free for many reasons, the
asymmetric permissions are the tell.

~~~
derefr
I think it's a valid argument.

For Redis to be "open core", Redis Labs would have to be the owner and
copyright-holder of the Redis codebase (like, say, NGINX Inc. is the owner and
copyright holder of the Nginx codebase, and therefore are able to split Nginx
arbitrarily into the Nginx "core" vs. Nginx Plus.)

But Redis Labs don't own Redis. Redis Labs—despite employing antirez—are just
1. a sponsor of the open-source development of Redis, and 2. a participant in
the ecosystem of ancillary Redis products.

A closer analogy than "open core" is the thing RedHat, IBM, Dell, etc. do with
OpenStack. They all make their own "distributions" of it, which combine the
core FOSS OpenStack project with their own proprietary add-ons. OpenStack
itself is a FOSS project, and is not "open core."

Similarly, Ubuntu and RHEL are corporately-developed Linux distributions. Is
the Linux kernel, therefore, "open core"? No. Those distributions don't _own_
Linux. They just bundle it together with their own stuff, and sell the bundle.

~~~
wvenable
> Redis Labs would have to be the owner and copyright-holder of the Redis
> codebase

This is actually an interesting argument but I'm not sure this statement is
necessarily or obviously true. What has been put forth in this blog posting is
that Redis Labs has created proprietary modules for features that antirez has
no intention of accepting into Redis core (like JSON and a full-text search
engine). So why does it matter whether or not Redis labs owns the code? NGINX
Inc. sells modules for features they aren't putting into the core product as
well.

It doesn't appear like owning the full copyright to the core makes any
difference.

~~~
stock_toaster
Would you consider postgres "open core" as well?

Citus makes proprietary modules for it, and likely employs some postgres devs.
I wouldn't consider postgres "open core" by any means. I would consider Citus
"a proprietary extension".

~~~
wvenable
If the majority of the development of an open source product comes from
proprietary extensions then it's open core. That's the project's particular
monetization model.

In this case, it seems like that is the monetization model for Redis (and
plenty of other open source projects). It's not the case, as far as I know,
for Postgres.

------
JoshTriplett
"We're not open core, we're some entirely new term we've invented for
ourselves, please don't dismiss us like you dismissed the dozens of previous
people who did exactly what we're doing but with different confusing
terminology!"

Taking an Open Source product and having paid proprietary addons for
additional functionality people are willing to pay for is the definition of
the "open core" model. I'd have a lot more respect for what Redis and Neo4j
are doing here if they weren't creating a cloud of associated FUD and
confusion.

~~~
geofft
I agree with this - there's nothing wrong with "We're taking extensions and
making them proprietary" (unless you share Stallman's belief that proprietary
software is inherently immoral). There's nothing wrong with proprietary
software being hosted on GitHub, having source available, accepting pull
requests, allowing noncommercial redistribution, etc.

But the Redis Labs blog post was incredibly confusing when it could have just
straight-up said "We're making some plugins proprietary," and this post is
awfully embarrassed of the term "open core" when there's nothing to be
embarrassed about. Debian, the group that is so doctrinaire about free
software that it literally doesn't ship gcc's manpage by default on the
grounds that it's nonfree, is happily running the open-core edition of GitLab.
You're not doing something bad by saying you need money from paying customers
to support the folks working on FOSS. There are lessons to be learned from
previous open core efforts, and they won't apply 100%, but no lesson on
successful companies applies 100% to a different situation. And they certainly
apply more than 0%.

~~~
pabs3
> Debian ... is happily running the open-core edition of GitLab.

I'm not sure I would describe it that way. Certainly some part of the
community is happy about it, other parts are certainly not.

------
karterk
I don't know why Antirez is on the defensive here about being open core. So
what? If that's a viable model for keeping Redis sustainable, then that's all
that matters.

For what it's worth, having closed sourced extensions for an open source
licensed core product (in this case Redis) is the canonical definition of
"open core", and this post does not really prove otherwise. Sure, there could
be some minor variation here (with Redis Labs not owning Redis directly), but
largely it's the same model for all practical purposes.

~~~
mikekchar
He's probably worried that someone will think that RedisLabs controls what he
decides to put into Redis. By saying that it's not open core, he's stating
that his decisions are impartial and not governed by potential revenue loss at
RedisLabs. Given how stubborn Antirez can be, personally I'm willing to accept
that at face value.

~~~
wvenable
It's funny that he specifically mentions not wanting to put into Redis the
exact type of software that RedisLabs sells.

I'm fully willing to accept at face value his reasoning but we wouldn't even
be discussing this again if there wasn't yet another blog post telling us how
we all have it wrong.

My advice to Antirez is to just leave this alone for a month and I doubt
anyone will still care in a week.

~~~
antirez
Yes because Redis Labs is doing basically what we agreed was not in the
roadmap of the open source for years... It's not a coincidence, we basically
thought that there was potential in the intersection of: (what customers asked
/\ what I was not going to do). But the blog post is not defensive, I think
that the discussion that started from this Redis licensing thing is truly
interesting, and that "open core" is a flat way to classify certain scenarios.
Usually it captures well the idea, but certain times not. For instance imagine
if Redis Labs would just specialize in writing orchestration software to sell
Redis as a service... It's hard to argue that this would be an open core
model. And what Redis Labs is doing is kinda that in a different way, to add
value outside the space of the OSS project main focus.

~~~
ProblemFactory
It seems to me that the main source of confusion is about the independence of
Redis from Redis Labs.

To you Redis is an independent open-source project, to which Redis Labs
generously donates your salary so that it you can work on it full time.

But to most people online, that is not immediately obvious: because of the
company name, you working at Redis Labs, and them being the main sponsor,
Redis is seen as the "open-source core product" of Redis Labs.
[https://redislabs.com/community/oss-
projects/](https://redislabs.com/community/oss-projects/) also strongly leaves
that impression - it even says that to contribute to Redis you have to sign
the contributor agreement with Redis Labs.

Once you have that impression, it's natural to assume that Redis + Redis Labs
modules are part of one product family, and that the roadmap for both is being
planned based on the business goals of Redis Labs.

~~~
wvenable
Redis labs website describes itself as the "home of Redis" and sells a product
called "Redis Enterprise". If that doesn't sound exactly like textbook open
core, I don't know what does.

------
coleifer
Sqlite is in the public domain and, like redis, has various apis for writing
your own extensions. Some of those extensions are free, some are proprietary
(thinking of sqlite encryption extension, although there are free
alternatives).

There's nothing new about this. Postgres has apis for writing foreign data
wrappers, MySQL has pluggable storage engines, etc etc.

Is antireZ worried about redis' reputation after the hn license drama? Is he
just waxing philosophical? I kept waiting for the post to go somewhere.

Redis is awesome. antireZ is doing great work. Its a bummer he felt compelled
in some way to write this.

------
jahewson
Ok so “Redis” isn’t open core but the RedisLabs ecosystem is - is this really
a necessary distinction? The point is that the people funding it are taking
something off the table, whatever label you give it.

But then what’s wrong with open core? It’s a reasonable business model, so why
the denial?

~~~
apetresc
But that's exactly the crux of his argument - they're not taking anything
away, because the things Redis Labs is working on are things that he _would
not accept_ into Redis itself even if someone were to donate the code for
free. The Labs modules only exist because of Labs.

Whether you believe him or not is your call, but it's not simply a semantic
argument.

~~~
antirez
Glad somebody understood the argument despite it was not very clearly stated.

------
maerF0x0
>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.

> 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.

Isn't that an exact description of the difference between redis clustering and
RLEC ? I would say that easy setup and automated (ie, no downtime) recovery
are "strong guarantees" and are the "clustering ... mechanism implemented in a
different non-free layer" .

I support there being a real business model to maintain the FOSS redis. Just
wanted to point out that it sounds like you're arguing against yourself about
the true nature of Redis / Open Core

------
Keyframe
That's a whole lot of rationalisation about how it's not an 'open core' model
where text actually supports that it, in fact, is open core. Not that it
matters.

~~~
antirez
I'm sorry if the post looks defensive, my only goal is to have a further
discussion about possible models, and how "open core" requires some thought
about is real essence, and how IMHO an "added value" model also exists.

~~~
Keyframe
Personally, I couldn't care less. Open Core sounds good as well. My impression
was that this post was more for you than for readers.

~~~
antirez
Well you are free to have your opinion about my post, but for me it's a
different matter: while I believe that who does "open core" has all the right
to do it, and I hope they'll have all the success, I don't think it's always
the right model. In the case of Redis, imagine if any HA would be in the
closed part, that is, Sentinel and Redis Cluster. The applicability of Redis
as free software would be more limited, because in order to work well an open
core strategy really needs to take away from the party something _really
valuable_. So I think that an "added value" strategy works better. It
leverages the delta between what users (or even more interesting, what
_enterprises_ want), and the developers of the product do not. For instance
Redis directly queried by JSON is IMHO the least interesting thing to do, yet
a lot of people want to do that. Similarly a CRDTs store with the Redis data
types is great, even if it ends not being Redis from the POV of latency,
memory metrics and so forth. That's my point, one strategy is to take
something, remove an important part, and force a subset of people to buy. The
other is instead to develop in the OSS a complete product, and focus on
offering additional things that different subset of users really would like to
see because they have vertical needs here and there.

~~~
Keyframe
Don't worry, man. I'm not reading 'deep into it'. It's a simple matter of
interpretation of open core, where you represent stance of open core being
features taken out and monetised, where other represent stance it's added
value on top of core functionality. And the wording seems to mix both in your
representation, namely what constitutes core features and what's added value.
A thought experiment could clear all that out - what would it change in
rationale if Redis Labs was not associated with you in any way?

------
anothergoogler
This paragraph confuses me:

> Redis Labs customers often asked directly for such things. And actually,
> such features could be cool, but it’s not Redis, I’m not interested, and the
> open source side of Redis does not have the development force to keep all
> this things going btw. And this is a major advantage both for Redis and for
> Redis Labs: it is relatively cheap to pay just me and a few more OSS
> development time internally, while allocating the rest of the resources to
> development of things that are useful for the Redis Labs business. There is
> anyway a great deal of contributions arriving from the community. And I also
> keep saying “no” to all this fancy ideas… which is also a problem.

At first the author says that there is not enough manpower to develop new
large-scale Redis features, but then he says that contributions are being
turned away.

~~~
antirez
Sorry when saying "no to fancy ideas" I mean to the ideas of doing with Redis
more than its natural scope, not saying no to the contributions. I'll clarify.

~~~
mdekkers
Hey, antirez! I don't understand all the recent drama around Redis, I think
what you and your crew are doing is absolutely awesome. Thank you for all your
hard work. This is your work, and you never have to defend yourself, or give
long and deep explanations for what you do with your own work. You don't owe
anything to anybody. I hope you become a millionaire :)

------
perlgeek
What are the possible ways to monetize open source software?

* support or training. RedHat seems to have cracked this, other large companies struggle to make it work.

* building an SaaS around it. That seems to work only if no other large player attempts the same

* proprietary extensions (whether you call it "open core" or not).

* getting sponsored for adding features (doesn't seem to scale all that well)

I have no moral objections to any of those.

And then there are things like OTRS AG delaying the release of their own
source code, to make the SaaS offering more attractive compared to self-
hosting, which kinda annoys me (mostly because it means they can't really
accept user-contributed features in a meaningful way).

~~~
snaky
> getting sponsored for adding features (doesn't seem to scale all that well)

And that's a problem.

------
luord
> 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.

Here's the problem and why what he's saying is a distinction without a
difference. This rule is arbitrary, I had never seen it before and it's needed
for redis not to be open core.

It very much is.

> I want Redis to be Redis, that is, this general tool that the developer can
> use in different ways to solve certain problems.

It's telling that the best that can be said is this ambiguous language.
Nothing prevents these "different ways" and "certain problems" to change at
any given moment.

------
wyaeld
antirez keep doing what you are doing. so many thousands get utility from a
small, reliable, piece of software that does what we need, and next release
doesn't suddenly increase its surface area. I trust your judgement.

------
runningmike
Deep respect for your work and courage to use BSD for Redis. BUT this
communication disaster SHOULD have been prevented and seen in advance. Stay
far far away of Common Clause licenses shit. Call it what it is: proprietary
software. Nothing wrong with a term that is clear for all. Even if source code
is available.

------
manigandham
Open-core describes the business model, not the product. It's about offering
(open or proprietary) products and services on top of open-source foundation
and is exactly what Redis Labs does, and has always done.

This post is very confusing as open-core is not directly relevant to Redis the
database, and it seems to be defending something that nobody is accusing it of
in the first place.

------
peterwwillis
Right. The correct term is "freemium".

------
nicodjimenez
Interesting but very difficult to read.

~~~
antirez
Yep that's one of my best "Italian sentence construction translated in
English" piece... Sorry, it often comes out like that when I write
impulsively.

~~~
oopsman88
I speak Spanish and it all sounded very natural to me... :-)

~~~
tootie
It was liked by me. A post very good.

------
kolyaio
Interesting article but the font was so horrible that I ended up changing it
in the developers tools.

~~~
ricardobeat
Horrible in what sense? What browser/OS? Monospace fonts were in use by the
entire world 30 years ago, it’s definitely readable.

