Open Adoption Software Interviews: Couchbase

Jake Flomenberg
@Accel
Published in
7 min readFeb 9, 2017

Bob Wiederhold is the CEO of Couchbase, an open source NoSQL database company founded in 2009. While many databases startups have come and gone in that time, Couchbase has raised more than $140 million in venture capital and counts some of the world’s largest enterprises among its customers.

In the first interview of a series we will do with CEOs and founders of Open Adoption Software (OAS) companies over the next few months, Wiederhold shares his experiences navigating the sometimes tricky waters of OAS. Especially in the early days of Couchbase, when OAS business models were less understood than they are today, the company and others in its space had to make some difficult decisions about fast money versus long-term growth. Wiederhold explains why Couchbase made the decisions it made, and why he thinks both OAS companies and customers need to invest their resources wisely.

— -

JAKE FLOMENBERG: Tell us about Couchbase and where the company is in its OAS evolution — Project, Product or Profit.

BOB: Couchbase is a NoSQL database vendor. We’re one of the three leaders in the space and we’re focused on providing an operational database for digital businesses and helping digital businesses deliver web, mobile and IoT applications that deliver great experiences to their users. We’ve already built a big business that’s growing rapidly, so we’re in the profit stage, although we are not actually profitable yet.

What role does community play in the development of, the adoption of, and ongoing use of your software?

There are two basic types of open source projects: there are community-driven projects and there are company-driven projects. We are an example of a company-driven project. Like most company-driven projects, the majority of the development of the core of the product is done by engineers that work for Couchbase. Around that core we have things like software development kits where there is much greater contribution from the community. The community also makes lots of contributions to the documentation, provides code snippets, and is a community that interacts with us about how to build software for various use cases and applications.

Community certainly is very, very important to us and building a community of developers that use our technology is very, very important. Building a community of developers that help build and move our SDKs forward is very important to us as well, but we mostly rely on our own engineers for the core of our products.

Are there advantages to doing company-driven open source versus community-driven open source?

There are huge advantages and disadvantages of each model. Generally speaking, the benefit of the community-driven approach is that presumably that project is going to move forward more quickly because you have more developers from multiple companies. The primary disadvantage if you’re building a business around it and while you will have some degree of influence on the project, you don’t have control over it. Then, from a business perspective, you also have multiple companies all competing based on the same underlying project.

With a company-driven project, it is typically the case that there’s one company that’s behind that project. As a result, there is less opportunity to move the project forward faster because the resources are coming primarily from that one company. The advantage is that you control the project — you decide exactly what the project roadmap is, when to make releases, how to fix bugs, et cetera.

There are big successes with both types of projects. Obviously, Hadoop is an example of a community-driven project. Then on the NoSQL side, you’ve got MongoDB and Couchbase that are company-driven projects. MySQL is also a company-driven project.

However, if you want to build a long-term, successful, profitable company, you do not want to be stuck in the middle between these two approaches. I think most companies don’t even think about that in their early stages. If you’re going to put your project into the Apache Software Foundation, for example, and you’re the only company developing it, it could come back to bite you in a significant way.

How does Couchbase think about making money in OAS, including which features to include in the community and enterprise versions of the product?

If you’re going to build a successful business based on an open source model, it’s extremely important to clearly differentiate your enterprise edition from your community edition. For example, we have three distinct options for accessing the Couchbase software. We have source code that you can download directly, but relatively few companies choose to do that. Then we have a community edition, which is free and you can do whatever you want with it. Then we have an enterprise edition, which, of course, you pay for.

The differentiation for us between the enterprise edition and the community edition is that we only provide technical support, in terms of service level agreements, for our enterprise edition. We certainly support the community edition in the forums, but without any kind of an SLA. In addition, all of the new features and enhancements show up in the enterprise edition first. Finally, we have proprietary features that are only part of the enterprise edition.

We are focused on the enterprise and focused on making sure that we can deliver a database product that meets the needs of mission-critical applications for the enterprise. As a result, we only make features proprietary if they’re features that enterprises would need to operate at significant scale. If you’re running a big digital business that’s run in-part on Couchbase, we think it’s fair that you pay for the enterprise edition.

Because building a successful business in the long term requires highly differentiated offerings, that’s one of the reasons that we’ve chosen to never provide SLA-based support for the community edition. Many companies do that, and I think most of those companies regret doing that over time because it’s fraught with a lot of issues as you move forward.

Are there any points you want to help educate the world on, on why OAS is a viable software development methodology, or any misconceptions you want to clear up?

A lot of people talk about proprietary lock-in as the primary reason that enterprises are moving to open source, and I think that’s much too simple. It’s as much about the open source, bottom-up adoption approach, which could be attributable to freeware or freemium as well. It’s this ability to be able to download the software for free, play around with it, get comfortable with it. Open source also generally tends to be pretty simple to use.

At the end of the day, certainly for enterprise software, most customers will be somewhat locked into the open source technology as well because they’re not likely to download the source code and maintain it themselves. Even though it’s much less the case with open source, there’s always at least a certain level of lock-in. If it’s a community-driven project, users presumably could switch between Hadoop distributions, for example, but that’s a big thing to undertake.

Another thing is that I see so many companies make what I think are expedient short-term decisions as to how to monetize open source that have big negative ramifications in the medium- to long-term. I’ve already mentioned one, which is supporting the community edition. If you’re devoting a relatively large development team to move an open source project forward more quickly and then you’re going to try and build a business by only providing support to that community edition, I think it’s extremely difficult to build a successful long-term business model using that approach.

Can you build a relatively small company and be successful? Probably. But if you’re trying to build a large, growing business that ultimately you want to take public, that’s extremely difficult to do.

There are other things, too, like $40,000 all-you-can-eat deals that people, even in our industry, have done. That kind of an approach seems to be something that many open source companies do to try to remove friction from the sales process; it gets you some quick wins and quick revenues. But there are relatively obvious negative side effects of that in the medium- to long-term.

My view is that you should have a very strong view of how you’re going to differentiate your enterprise edition from your community edition over time. Don’t just think of how you’re going to differentiate it today, think about how you’re going to differentiate it in a year, in two years, in three years, in four years and have a real strategy as to how you’re going to do that.

Do you have any other parting words?

I just have one more comment, which is that customers need to think about this, too — particularly senior-level people. Because the history of open source companies is that a lot of them grow pretty rapidly and then flatten out and really struggle to be able to continue to invest in the technologies. Once the VCs go away, they have to stand on their own two feet.

The customer really needs to think that through. You don’t want to invest in software, particularly infrastructure software, that looks great for two or three years and then all of a sudden the company can’t implement its product roadmap because the VC money has gone away and it’s barely making any money. Those projects are going to stall out.

People are talking about this more and more. What I’m telling financial analysts or people looking at investing is that there’s going to be a wave of open source companies that become public in the next few years. As a result, a lot of these investors are going to have to really think through the open source business models and come to conclusions as to which companies have a good one and which companies don’t. I think that’ll be a big determinant of what investments pay off and which ones don’t.

--

--

Jake Flomenberg
@Accel
Writer for

Partner @Wing_VC; interested next-gen infrastructure, enterprise software applications, and security. Former Partner@Accel. Ex product guy @Splunk & @Cloudera