Profile picture
Adam Jacob @adamhjk
, 32 tweets, 6 min read Read on Twitter
I have complex feels around the commons clause and whats happening now with Redis Labs. To get things out up front - I’m not a user of Redis Labs. I support peoples choices to license their work how they want, and to build their companies how they want.
As a part of a business model, open source gives a couple of things. 1 - the opportunity for a large community to arise, with their identity and effort mixed with that of the originators/companies. 2 - if that works, you have a shot to commercialize those users and contributors
In business terms, you’re creating a bigger top of funnel, with the hopes that you can drive reasonable conversion rates into $$ at the bottom. The size of your tent is what makes that $ possible. It because people use your software, but really works because they *identify* w/ it
The community at the top of the funnel bonds to the software in a way that doesn’t happen in proprietary software. I would argue it can’t happen. I love lots of proprietary software, but that software isn’t a part of my identity. Lots of open source is.
When we create those communities, we are creating a social contract between those members. It can be an explicit one, or an implicit one, but it always exists. I believe one requirement of a stable social contract is that those who enter into it do so as peers
That peerage is what enables those communities to flourish. I don’t know of a large, thriving open source community that doesn’t enable that peerage. Those who then close off to that peerage in order to protect revenue are, I suspect, closing off the top of the funnel.
This may or may not matter. Perhaps the community never formed anyway. Perhaps nobody uses the software. Perhaps nobody contributes. But it’s chicken and egg - the more you try and protect your business from perceived freeloaders (AWS, Canonical, other consultants)
The more you declare that you aren’t a community, not in the sense that most people understand it. At your best, you become a brand to be affiliated with. You loose the sense of identity that sustains the software, and builds that strong top of funnel.
A couple things that I think are clear patterns where the social contract is being declared wrong up front. Number 1 is copyright assignment. If your contributions are not yours anymore, it means the creators of that software do not intend to allow you to be their peers.
Number 2 is dual licensing. It’s basically the same thing - we say that there is a restrictive license that makes competing with the creator impossible. Again, it means we aren’t peers.
So we come to the commons clause. In this case, the question for me is this: what was the contract, and did they violate it? AFAIK, Redis Labs extensions always had copyright assignment. That meant that they were clearly saying, to everyone, they mattered more than contributors.
This was to ensure they had precisely the flexibility they just exercised - its why, without asking any contributors, they could just change the license as they wish. So, in theory, the community just lost some freedoms. But it’s freedoms they were never granted for real anyway.
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.
So Redis Labs looked at there business. Said - hey, you know what - we’re not getting the revenue we wanted from consulting, from licensing, and from our hosted Redis being the best Redis Service around. We need to make sure AWS, Azure, Google, can’t just grab our extensions
And compete with us. Or sell support and consulting. Since those companies don’t contribute back to Redis anyway outside the core, we’re going to close off that avenue.
The did that by applying the Commons Clause. Setting aside the questions I have about the wording and legality of the clause, in particular in combination with some other licenses, I’m not sure the social contract changed here at all around this software.
Redis Labs always reserved all the rights to do whatever they wanted with their source code. It was always theirs. Even when you patched it, it wasn’t your patch - as a price of entry, you gave it away. They didn’t want it if they couldn’t own it. It was a brand, not a community.
As a user, you still get to use the software for free (as in beer). You can still fix bugs and give the software to Redis Labs like you always could. If you’re AWS or Azure, you have to pay Redis Labs if you want to play. I suspect it won’t make a difference to them at all.
So who was the looser? I suspect nobody. AWS, Azure, etc aren’t going to magically start paying for the privilege. They will freeze those services and move on. Pure users can keep using. Contributors who were fine with giving their work away can contribute.
Consultants who made money on supporting Redis Labs extensions lost a revenue stream. That will drive them out of the Redis Labs recommendation business, and into another database. The existing customers may, or may not, follow them. So this is worse for them.
Redis Labs looses basically nothing, since I suspect the amount of contribution they got to those extensions, given the pre existing setup of the social contract, was already near zero.
In theory Redis Labs now gets to monetize some customers they couldn’t. But how many of those really existed?
This isn’t a death knell for open source. Its a death knell for any semblance of community that might have existed around Redis Labs version of Redis. That’s okay - they never really cared if it existed anyway, outside of core Redis.
Users get to keep using the sofware. It remains source available, and you can patch it if you are so motivated. The community that probably didn’t really exist still doesn’t. It’s strictly better than if it was totally closed off. Still not something I want, but otherwise - meh
Here is what I would have done differently, completely arm chair quarterbacking. In a community, all you have is that trust and peerage. That’s what makes “Chef” the “Chef” that I, and my company, produce in harmony (mostly) with others.
It’s why when Rightscale, or AWS, or Engine Yard, or any number of others built businesses that used Chef, unless they contributed and were of a piece with that community, their users eventually demanded they switch to “Chef Brand Chef” - because thats what “Chef” was.
Redis should never have gone essentially open core - it all should have piled in to the community. If they had, we would all be stoked about the smart replication, dope search, and many other features I didn’t even know existed in Redis.
Then when AWS, or Azure, or anyone else said they offered a Redis service that was better - the competive response is: “Sure, if you don’t want all of Redis. Or to be able to call the people who do the vast majority of that work.”
I have no doubt Redis Labs runs a better hosted Redis service than any provider of the primitive can. The community would have demanded, on your behalf, that those providers meet or exceed that quality. It would have pushed for partnership.
Instead - their only avenue is license shennanigans. I’m watching to see if it helps. I don’t think it will. You made yourself the same as those you’re locking out - just another brand.
It bums me out not because of lost freedoms, or because open source is existentially threatened. It bums me out because so many people who say they love open source do not understand, or do not care, about the power of a community, and the contracts that make them real.
Also - the software in question was AGPL anyway. The change here is actually that - we don’t care how you use it. We care if revenue flows to us or not. If there is revenue to be had, it is our revenue. Make a derivative work if you want - but those $$ are my $$.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Adam Jacob
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!