Redis started as an internal project more or less one year ago. Initially it was not meant to become an open source project. The initial goal was just to make it simple for us to scale a few critical things in different web applications.

But it was hard to resist the open source soul there is in me :) It's been more than ten years that I have contributed to the open source world. Code sitting just inside your HD is a waste in many ways. So a few weeks later I released the first public version of Redis, and it started to grow in users, who in turn pushed me to add features and provide more stable code.

In little time Redis was a bigger effort that my "real" work, that is, the work I was doing for my two companies (I'm the founder of two small companies, and I work with my friends here, doing web apps and iPhone apps).

Basically this year was full of good things, I saw Redis becoming more and more popular, and learned a lot of stuff in the process. I saw the Redis community growing, full of interesting people willing to share their knowledge. But at the same time it was hard, I had my work, and I had Redis to develop. And while initially Redis was just an hobby and the code itself was very small, it started to get more complex, and to get more interesting features like sorted sets, virtual memory, append only file.

To put this in the right context, take in mind that Redis is a DB. When you receive a bug report, it's not like "VLC is crashing playing this particular FLV video". There are people doing real business with Redis, with their real data. You have to fix the issues ASAP, you need to provide very stable code, or at least this is how I see it. Your users are your customers, not just people downloading some hackish code trying to make it working.

Business models

This are the reasons why I started searching for a viable business model for Redis. My problem was that I was not willing to do services, that is, consultancy or specialized versions of Redis for specific companies needs: I wanted to spend most of my time hacking on Redis, not trying to make it working in different real-world contexts.

So I needed a product based business model. How would I achieve that without closing Redis itself?

My best answer was to start building Redis Tools, a set of tools to make it simpler to work with Redis, to get statistics about the dataset, to check how it was working. The idea was to sell this tools for a reasonable price, in order to have income strong enough to switch full time into Redis development.

But to develop commercial quality tools, write documentation for them, offering minimal support, handling the logistics part, is not trivial, and Redis Tools are not exactly something you can easily sell in large numbers, as the potential customers are companies using Redis seriously.

Fortunately there was an alternative, a number of companies started to contact me about hiring me to work at Redis full time. In a few weeks the condition was totally shifting, from searching for a business model with little hopes of success, to choosing the best company to join in order to bring Redis development to a completely new level.

VMware

One of the strongest indications that VMware was the best home for Redis was how our contacts started: with chats about VM internals.

Yes, because VMware is a technological company. A strong technological company, where there are many people doing similar work to the one I do for Redis everyday. They wanted to know more about Redis internals, use cases, possible optimizations, and so forth. Since the early stages the stress was in the technology.

Another awesome factor was how VMware is committed to leaving Redis completely open. They want me to develop Redis to continue helping developers to get the most out of it, in a better way than was possible before.

Not only Redis will remain a totally open source project, but Redis Tools will be open sourced also (and this was an idea I got from VMware itself!).

This is why I'm truly excited about joining VMware: together we'll build a better, free Redis, bringing Redis development to another level.

I'm very glad VMware is offering me such a great opportunity. But in practical terms, what will change in the Redis development? Well, not so much, apart me having much more time and support. I'll continue working from home, here in Sicily, I'll continue pushing features forward in little time. Even if you think Redis was already stable enough for being such an young project, with VMware I'm sure we can establish better quality assurance processes.

Another thing I will enjoy is to be able to spend some time writing the Redis book I started many months ago, but was unable to finish due to time constraints.

VMware is making all this possible, and I'm sure you'll enjoy the work we'll do around Redis as much as I will.

Ah and I didn't invented all this myself ;) You can check the VMware blog post written by Derek Collison of the VMware Cloud Service Division ;)

A big hat tip to VMWare for "getting it." For supporting open source... and more importantly, giving back to it. Most companies take consumption point of view and ignore everything that doesn't contribute to their bottom line. But sometimes, they surprise us. Sometimes, they do the right thing. And for that, I salute you VMWare. (Yes, I own one of your products.)

Congratulations, Salvatore!
A couple of questions though
- is VMware becoming the owner of the project? Is any change for licensing is pending? ( Failed to find any other BSD license support by VMware within its other open source projects).
- How long did it take for VMware to make a decision? Is it possible that they will 'correct' their mind a bit later, and change licence for the future releases?
Thank you very much for your kind attention to this.
And congratulations once again! To you and to VMware!

- No license changes planned at all! Also it is not possible to "undo" the BSD license (at max one can start releasing new versions under another license), but again, there is no plan about that.
- As I said even if VMware will ever change idea about this (but again there are *no plans*) it can't effect past work. The BSD license is much better compared to the GPL about this, as it's already at the max level of freedom, so no future changes can affect what you can do with the old source code.

as someone who benefits from your hard work on this cool project, many congrats to you. so impressed with how well and concisely you accomplished so much that was long over due. nice (in fact incredible) that vmware recognized that too. add me too to those on the thread saying, in boca al lupo!

PROGRAMMING AND WEB

Welcome, this blog is about programming, web, open source projects I develop, and rants I love to share from time to time. From the point of view of a programmer that loves to define himself a craftsman.