This morning, Chef Software announced that it will be releasing 100% of its software as Open Source, under the Apache License. Going forward, all of its product development will be done in the open, with the community, and released as Open Source Software. Chef is done with being Open Core, and is now a Free Software Product company. Good riddance to bad rubbish.
As a Co-Founder of Chef, a board member, and a community member, I couldn’t be more thrilled. For me, it eliminates the longest-running source of friction and frustration from my time at Chef. On the one hand, we have a community that cares about the software, and about each other, where we develop the software in concert with our users and customers. On the other, we produced a proprietary software stack, which we use to make money. Deciding what’s in, and what’s out, or where to focus, was the hardest part of the job at Chef. I’m stoked nobody has to do it anymore. I’m stoked we can have the entire company participating in the open source community, rather than burning out a few dedicated heroes. I’m stoked we no longer have to justify the value of what we do in terms of what we hold back from collaborating with people on.
As an insider, I got to witness first-hand the boldness and deep thought put in to this transition by the team at Chef. Our incredible CEO, Barry Crist; Corey Scobie, the SVP of Product and Technology; Brian Goldfarb, CMO; Katie Long, our VP of Legal; and so many others. Thank you.
Here is my summary of how it works now. Chef Software produces only open source software projects, in the commons. It distributes that software as an enterprise product. For current Chef Software customers, nothing changes. For enterprise users of Chef products who are not customers, they can decide to either pay for Chef’s distribution, or they can make or consume an alternative. For individuals and/or non-commercial or experimental use, they can continue to use Chef’s products without paying for a subscription. Go read the announcement and the FAQ if you want more details.
I believe in the values of Free Software — that software is a special kind of resource, one which need not be scarce. That by sharing that resource with others, we unlock a community who can steward that resource in a sustainable way, both now and in the future. We enable people with dreams and aspirations to use those resources as they see fit, to further their own lives. We do this without knowing who those people are in advance, or what they will do with the software — we do it because enabling those opportunities, and advancing that knowledge, is the right thing to do. It’s right when you’re a single developer working in a part of the world I’ve never seen, and it’s right when you’re Amazon Web Services.
Open Source wraps those values up in a recognition of their value to business. When we live the values of Free Software in public, in collaboration with each other, as a community, we create a much more valuable asset than we could create as a proprietary company. The software itself is better, it has orders of magnitude more reach, and it creates a kind of community that stretches beyond the software into the fabric of the lives of the people who participate. The ownership you feel when you are truly a part of a supportive community runs deep.
In the most basic of business modeling terms, it creates a massive “top of funnel” — the potential universe of customers. With Open Core, we say that the software we produce at the top of the funnel is worth nothing, in dollar terms. It exists as a loss leader whose utility is to create a massive potential customer base. We then create proprietary software on top of it, and the differentiation between our open source software at the top of the funnel and the proprietary software at the bottom is where the value is. We play marketing and sales games to try and claw that value created at the top back, but in practical terms, when you are sitting with an enterprise procurement officer, they set that knob to $0. We also pay an intellectual tax — to get maximum impact at the top of the funnel, we must create a thriving, open community. That community wants participation, they want access, they want authority, and they want possibility to profit. That’s directly in tension with the strategy to extract value from the proprietary pieces at the bottom of the funnel — if they are valuable at the bottom of the funnel, then they are worth collaborating on at the top. We accept this because, as they say, everybody has to eat.
With a Free Software Product model, we say the software we produce is a valuable component of a complete Product. The software is fully open, creating the potential for collaboration, integration, and network effects across the entire stack. The value of the product is that software, plus the security, testing, build pipelines, sales, marketing, support, documentation, operational knowledge and content produced by Chef Software. In other words, it’s the value of being the best possible producers of an enterprise product, one that solves real problems for real customers. There is no more tension in the strategy — open source software produces better outcomes for everyone. Those who want to monetize that software can compete at building a better product. Everyone wins.
One major difference between building an Open Core company and building a Free Software Product company is that belief in where your product value lives. In Open Core, it lives in your ability to extract value at the bottom of the funnel. Anything that threatens that (such as, say, AWS launching a competitive service) is seen as an existential threat. The evidence says it is no such thing — every company that has been “threatened” by AWS over the years seems to continue to grow and thrive. Elastic went public with some of the most impressive business metrics in recent history, while AWS ran a competitive hosted ElasticSearch service. MongoDB is doing better than ever. Chef is putting up the best numbers in its history.
Do you really think that is because they drew the line between proprietary and free so expertly that their customers cannot help but pay them? If that is true, Elastic is doomed: because AWS just put together an open source distribution that includes alternatives for the vast majority of their proprietary software. But they aren’t. Because Elastic builds an incredible Enterprise Product — it’s fucking great. People who use Elastic want that full product experience — it is so much more than just the software projects itself. The dynamics of open source collaboration are so strong, that the lift they get from cooperation outweighs the potential loss at the bottom of the funnel. Even when they do everything in their power to restrict that funnel. Because it’s not about your proprietary hedge — it’s about the product itself being great, and the product is orders of magnitude more than just the software project itself.
The doubters, of course, will say: “nobody will pay for your product now, they’ll just take it for free”. To those people, I reply: those folks don’t pay for it now anyway. The strategy has always been to create the largest, stickiest top of funnel possible. When you get all the way to the bottom of the funnel, where people pay, you expect massive numbers to fall out along the way. If you’re the kind of user who will do it all yourself, you’re going to… do it all yourself. The only question is whether I want you doing it with me, or without me. The power in the model is in doing it with me — together, as a community. Stewarding that resource together for our mutual benefit.
Others will say that we are no longer a “real” open source company, because Chef now exclusively produces an enterprise distribution. To those people, I reply: we have deeply different understandings of what it means to be open source, and what it means to be a community. If we are a community only because I produce the vast majority of the resources we steward together, do so fully in the public view, and I am responsible to package it up, deliver it to your door, brand it for you, and help you when you’re in a bind — while you use that resource to run your billion dollar business, contributing little or nothing (either monetarily or otherwise,) in the process… we are not a community. I run a charity for billion dollar enterprises, and you like the free coffee.
What will make us a community is when you show up — and, working together, we steward the asset we all care about so deeply. I look forward to working with your engineers, making the projects as amazing as they can be together. I welcome you to build your own distribution, your own products, out of the projects we produce together. Because I believe in the values of free software. Because I believe you should have that right. Because I believe it’s better for all of us. I can’t wait to be in that community with you.
Finally, building any software project is complicated. Building a company is complicated. While I’m ecstatic that Chef is no longer an Open Core company, I know enough to know that one size doesn’t fit everyone. There are situations where I suspect this is the wrong business strategy. However — I do believe that, for those Open Source companies who produce and own the primary asset, this is a better model. We should embrace the values at the heart of our business model, open ourselves fully to our communities, and build the best products the industry has ever seen. We should value every single line of code, every single support ticket, every piece of marketing, every sales call. The value of your company is in your product, not in your proprietary differentiation. The evidence is right there for you, in plain view — your customers love your product. All of it.
I am a co-founder of Chef, and I sit on the board, but I am no longer involved with the day to day running of the business. While I obviously have a vested interest and insider knowledge, this post is my own personal opinion. Honestly, it’s incredibly liberating to write that.