In the dark and distant past I used to give talks on search. I had an interest in information retrieval generally and drifted into some of the popular libraries and services of the time. One popular choice was Solr which is based on the Lucene library. I also tried, and was impressed with, Elasticsearch: a newer Lucene based tool, but with a much easier to use API.
Over the years that open source project has expanded into the company that has just filed their S-1 to list on the New York Stock Exchange. Elastic is a developer-oriented business, and their filing shines a light on how they built a real company out of that open source project.
First off for any community managers out there who have had trouble explaining their impact at work: Elastic have the stats for their meetup groups right at the start of their prospectus.
Open source also fosters our vibrant community of developers who help improve our products and build on top of them. As of July 31, 2018, our community included over 100,000 Meetup members across 194 Meetup groups in 46 countries.
Community, and the developers in that community, are a core part of Elastic’s story around their competitive advantage.
As with most high growth companies, Elastic loses money. Their story for investors is not so much about the customers they have now, but the customers they will have tomorrow. That, in part, turns on being able to generate better returns than competitors, in order to reinvest in growth more cheaply.
They point to a couple of advantages. The first is reduced selling costs, and better return on investment. It’s much more effective to create content that is used on many potential customers than have a sales person visit each one, and its much cheaper to convince companies to buy when they have already found significant value in your product.
Apologies for the long quote, but its worth reading:
As a result of our open source strategy, our sales prospects are often already using our technology. Our sales and marketing efforts extend our open source strategy in two key ways.
First, we conduct low-touch marketing campaigns to keep users and customers engaged after they download our software. This includes providing high-quality content, documentation, webinars, videos, and blogs through our website.
Second, we conduct high-touch virtual and field campaigns with qualified prospects and customers who have typically already deployed our software to drive further awareness, adoption, and expansion of our products and solutions.
Secondly, their community helps them hone their developer experience. As their products get adopted this means they are used more effectively and correctly, resulting in developers getting more value out of the them:
Elasticsearch has consistent, well-documented application programming interfaces (APIs) that work the same way on one node during initial development as on a hundred nodes in production. Elasticsearch also ships with a number of language clients that provide a natural way to integrate with a variety of popular programming frameworks, reducing the learning curve, and leading to a shorter time to realizing value.
This is the customer success side of developer engagement— make the product easy to use, and easy to use right, and developers are going to be more successful with it. That easy creation of value makes developers and their employers more open to paying for this or that commercial offering.
As to whether this actually works: Tom Tunguz’ post analyses the financials of the IPO and benchmarks Elastic against Mulesoft (who were acquired by Salesforce). He notes Elastic’s sales & marketing costs are around 20% less than Mulesoft’s at the same point in history. He also notes Mulesoft’s much higher average contract value, which changes the sales dynamics, but I believe a good chunk of this difference is attributable to the developer mindshare Elastic has built through open source.
It’s worth a couple of words on the specific approach Elastic have taken to open source as well. There are a few different options for how you manage being an open source company, such as:
How community driven is the code base?
How much of what you sell is open vs closed?
Elastic are at the edges on both — the codebase is open, but tightly controlled by folks at the company. It’s more similar to a project like Android than a broad community collaboration like Python.
In terms of closed features: everything is in the public, but not necessarily OSS. This is interesting — Elastic started, as most open source companies do, with an open core product and a proprietary, closed source set of add-ons (the X-pack). Back in April, they added the proprietary source to the public repos, but did so with a commercial license for those paths.
This gives Elastic a single build target, a single distribution, and opens their source up (which is a huge boon for developers debugging issues), but maintains the proprietary business aspect. It’s a clever move that I can see becoming more common for this type of business.
Most of the source remains fully OSS-open, which does lead to some risks, such as:
Certain cloud infrastructure providers, including Amazon Web Services, that offer SaaS products based on Elastic’s open source components. These offerings are not supported by Elastic and come without any of Elastic’s proprietary features, whether free or paid.
If you go to the Google Cloud Platform launcher and select Elasticsearch, that is a partnership with Elastic, the company. However, if you go and use Amazon Elasticsearch Service, you are just using AWS. Elastic, the company, is not involved.
Amazon’s ability to offer something which is functionally identical for some large percentage of use cases is, I think, the core risk that people have in mind when they consider open sourcing their cloud tech.
My impression of the offerings is that Amazon’s service is effectively competing with what would have been self-hosted Elastic installs. The type of heavy users that are Elastic’s target customer seem frustrated with limitations of the AWS solution around lack of configurability. While theoretically Amazon could get their offering to a state that would address those needs, its harder to rally resources at big companies around more marginal products — and when compared to EC2, S3 and the like, Elastic’s entire revenue base is marginal to AWS.
So, while I am sure the AWS offering causes grumbling at Elastic, it also gives them a way to really clarify what their value-add is to customers, and may well effectively be generating new business for their cloud and subscription services!
Elastic is a great reference point if you’re thinking of building your own developer oriented company, particularly one based around open source software.
The thing that Elastic have done really well is connect their story to their business fundamentals: they really believed in the power of the community, and they built their business around it.
That has driven their go-to-market, their product development, and much of their acquisition strategy. It’s easy to treat the ideas of being user or developer centered as so much fluff around the hard numbers, but if you build those numbers off of your vision, you can pull together a remarkable business.
Best of luck to Elastic on the IPO!