In a recent Twitter thread, Adam Jacob (co-founder and former CTO of Chef) talked about Chef’s switch from an “open core” model to a a “Red Hat” model for licensing their software. It was a fascinating discussion, with important implications for open source companies and their business models. I’ll reproduce the thread here, with Nat Torkington’s comments.
First, I’d like to start with some background. The behavior of major cloud companies, such as Amazon, has increasingly stirred up angst and fear in open source companies. These companies provide (and support) software that anyone can download, install, and use for free. There are often commercially licensed add-ons around the open core. Amazon and other cloud providers have taken the free software without paying (after all, it’s free, that’s the point), and offer it in their commercial cloud products “as a service.” There’s nothing in the license to prevent this; after all, you can download and run the software without charge. It’s more free than beer; after all, you wouldn’t leave a party with a keg to sell on the street corner. The cloud providers have the technical capabilities to run and support the software at scale, so they have no need to buy services from companies like Chef (or Puppet, or Elastic, or MongoDB, or DataStax, or…), and in many cases they have the ability to build their own versions of the open source company’s proprietary add-ons. The result is that they are taking away market share without contributing anything in return. Stephen O’Grady has a good (and much more detailed) summary of the problem.
Many open source companies have responded with changes to their licensing and distribution models. And many of these changes are, essentially, making the software less “open.” Elastic, for example, distributes ElasticSearch (open source core) with proprietary components; ElasticSearch itself is free software, but to use their distribution legally, you have to untangle it from the proprietary components–not a simple task.
Chef has gone in the other direction. Just over a year ago, they doubled down on open source; as of April 2, 2019, all software development is under the Apache 2.0 license. You can download their software, use it, contribute to it, and even redistribute it or turn it into a service on your cloud platform, all for free. There is one catch: Chef is a trademark, and you do not get the rights to the trademark. You can redistribute the software, but you can’t call it Chef. This model is comparable to Red Hat’s: all of their software is open source, under the GNU Public License. You can use it to make your own distribution, but you can’t redistribute it and call it Red Hat.
And this is where it gets really interesting. Adam Jacob has been doing a lot of writing about sustainable free and open source communities: what does a community mean? Under what rules should it operate if it’s going to be healthy and meet the needs of its members? A community under which “freedom’s just another word for nothing left to lose” isn’t a community that’s meeting the needs of its members. Given his focus on open source communities, it’s not surprising that Adam supports Chef’s decision, though he left Chef before that decision was made. In this thread, he talks about why that decision was important and what it takes to build a healthy business around open source software. Here’s Adam (with my annotations and Nat’s comments):
A few years ago, our theme at OSCon was “Open Source has Won.” It’s very difficult to imagine a new programming language, or a new web framework, or a new set of deployment tools, or a new library for machine learning, and so on (and so on and so on) succeeding if it’s not open source. Our habits have changed. However, it’s always dangerous to declare victory too early; and while the last 30 years have turned open source from a fringe movement into the mainstream, open source business models still face challenges. Companies ranging from Chef to Elastic are experimenting with new models. Chef’s model is open, straightforward, and designed to build strong communities. Those are the right values; we’ll see if they win out.