Keeping Open Source Open, or, Why Open is Better

Last week Elastic announced that they were “Doubling Down” on open source by changing their licensing to a non-open license – MongoDB’s Server Side Public License, or SSPL.  Let me clarify in my opinion this is not doubling down – unless, as our good friend @gabidavila highlighted, that maybe the thinking was a double negative makes a positive? VM Brasseur posted on her blog that she feels Elastic and Kibana are now a business risk for enterprises.  Peter Zaitsev has penned why he felt SSPL was bad for you before this announcement and then sat down with me to discuss his thoughts last week as well.

This is not the first and regrettably, this won’t be the last “open” company to run away from open source or the model which got them as a company to where they are today.

Why Do Some Companies Have Open Source Problems Today?

I personally have no direct problem with companies selling proprietary software. I have no problem with companies selling software with new licensing, and I have no problem with cloud services.  I simply feel that open is better. Open gives not only paying customers but the entire community a better and more viable product. It’s ok if you disagree with that.  It is ok if you as a company, consumer, or other entity, choose proprietary software or some other model, I won’t hate on you. What gets me angry though is when people wrap themselves in the veil of openness, ride the coattails of open software, pretending to be something they are not, and fool customers into getting locked in.  Companies that use open source as their gateway drug to get your applications completely dependent on paying them forever or risk massive costs migrating away.

Let Me Give You an “Outside of Tech” Example

My father-in-law worked on the line for GM for over 30 years. One of the things he really enjoyed when he was not working was golfing.  He traveled the state he lived in and tried all kinds of courses, but there was one, in particular, he really liked.  It was a resort in northern Michigan that had four golf courses with plans to add a couple of more.  He decided to plan his retirement by buying a lot on one of the soon to be built golf courses after painstaking research. He was going to build his dream house and spend his retirement golfing.  He was so thrilled about the plans he would drive me up and force me to trudge into the woods to show me his future spot.

A few years later as he was nearing retirement the resort announced that they would no longer be building the extra courses and would not invest in the infrastructure to build the homes/community where he had invested.  My father-in-law, who invested so much in this, was left with worthless land in the middle of nowhere.  Sure, he could retire somewhere else, but he invested here and now there is a terrible cost to try that again.

It’s similar to the current trend in open source.  You adopt open source because you have options, you can get things started easily, and if you love the product you can expand.  You do your research, you test, you weigh your options, finally, you commit.  You invest in building out the infrastructure using the open products, knowing you have options. Open source allows you to be agile, to contribute, to fix, and enhance.  Then, one day, the company says, “Sorry, we are now only sort of open and you have to play by the new rules.”

The Impact of Financing

So what the hell is happening? A few things actually.  The first is that open source companies scored some big exits and valuations over the last 15 years. Everyone loves a winner. The rush to emulate the success of those early companies and models was viewed by many entrepreneurs and investors as the new digital gold rush. Let’s look at this from an investor’s point of view for a second:

  • Free labor from the community = higher profit margins
  • Free advertising from the community = higher profit margins
  • Grassroots adoption and product evolution = better products and higher profit margins
  • Community-led support = better profit margins
  • People adopt, then they need help or features … so we can sell them a better more stable version (open core) = better profit margins

So investors poured in.  Many open source startups were started not because the founders believed in open source, but it was a quick and very popular way to get funding. They could potentially gain a huge audience and quickly monetize that audience. Don’t take my word for it, the CEO of MongoDB Inc admits it:

“[W]e didn’t open source it to get help from the community, to make the product better. We open sourced as a freemium strategy; to drive adoption.” – MongoDB CEO Dev Ittycheria

If you look at their publicly available Wall Street analyst briefings, they talk about their strategy around “Net Expansion” and their model is predicated on getting 20-25% expansion from their existing customer base.  Unless you spend more the model breaks.  The stock price continues to rise and the valuation of the company continues to grow despite not being able to be profitable.  In the stock market today growth – delivered by getting more users, beating earnings, squeezing your customer base, and locking you in – is rewarded with bigger paydays. Again let’s pull a quote, this time from a Wall Street analyst:

In Billy Duberstein’s article, If You Invested $1000 in MongoDB’s IPO, This Is How Much Money You’d Have Now, he wrote:

 “…the database is a particularly attractive product, even by enterprise-software standards, because it stores and organizes all or part of a large corporation’s most important data. If a company wanted to switch vendors, it would have to lift all of that data from the old database and insert it into a new one. That’s not only a huge pain; it’s also terribly risky, should any data get lost. Therefore, most companies tend to stick with their database vendor over time, even if that vendor raises prices. That’s how Oracle became such a tech powerhouse throughout the 1990s.”

Essentially, database companies are a good investment because, as well as storing your most important data, once your data is captured it’s painful and risky for users to switch. While this is great for investors, it is not always good news for enterprise customers or any consumers.

Making the Right Decisions for Your Customers

This brings in the debate around retention, expansion, and stickiness. Retention in a pure open source business is difficult. I won’t lie about it.  You have to continually up your game in support, services, features, and tooling.  It is hard!  Really hard!  Because in a pure open-source model, the user can always choose to self-support.  So your offering has to be so compelling that companies want to pay for it (or they view it as “insurance”).

This has led to a discussion that occurs at every open source company in the world.  How do we generate “stickiness.”  Stickiness is the term given to the efforts around keeping paying customers as paying customers.  Here’s an example: MySQL AB had a problem with the “stickiness” of MySQL Enterprise, so they developed the MySQL Enterprise Monitor.  People who used this tool loved it, so they kept paying for MySQL Enterprise. This approach is the right one, as it helps customers that need functionality or services without penalizing the community.

Open core is another form of “Stickiness” – If you want to use these features you have to pay. While stickiness is not always bad, if you have such an awesome product and service offering that people want to pay you, then great. However, oftentimes this stickiness is basically vendor lock-in. It’s a fine line between creating compelling and awesome features and locking your customers in, but that line is there.

Ask yourself, if you wanted to do this yourself without paying the licensing fees how hard would it be?  If you would have to rearchitect or redesign large portions of your application, or you need to reinstall everything, you are locked in. In other words, companies taking this approach do something unique that the community cannot replicate. If it would take additional time and resources it is a value-added service that makes you more efficient.  Using the MySQL Enterprise monitor example, you can monitor MySQL without this specific feature, it just was a value add on that made it easier and more efficient. It created stickiness for the product but without lock-in.

Companies start to be focused on shareholder value and increasing the stock price at all costs.  The mantra I have heard from CEOs is, “I work for the shareholders, I do what’s best for them.”  In many areas, this conflicts with open source communities and culture.

When I work on an open-source project I view it like I am part of the project or part of the team, even if I am not paid.  I am contributing because I love the product, I love the community, and I want to make a difference. As a user of open source, my motivations tend to be a bit different.  I want software that is evolving, that is tested by millions around the world. I want the option and freedom to deploy anywhere at any time. I want incremental improvement, and I only want to pay if I need to.

This is where there is a disconnect between shareholders and the community and users comes in.  If you’re looking at the priority list, shareholder value in many of these companies will come at the expense of the needs of the community or the users.  Peter Zaitsev founded Percona in 2006 because MySQL AB started that shift to shareholder first, and it deeply upset him.

When Circumstances Change

MongoDB started as a shareholder value first company, focused on the “freemium” model.  I think Elastic falls into a second category of companies.  What are some of the characteristics of this second category?

These companies start off as open.  They do build the company on free and open principles and they put users and community as a higher priority.  But, as they take funding or go public, the demands of revenue, profit, increased expansion by shareholders get louder and louder.  These companies start bringing in industry veterans from big companies that “know how software companies should be built.” Oftentimes these executives have little or no background in open source software development or community development.

Executive pedigree matters a lot in valuation and Wall Street acceptance, so coming from a multi-billion dollar company makes a huge difference.  Every hire a company makes changes culture. These companies end up not only having external shareholder pressure but also pressure from the executive management team to focus on increasing profits and revenue.

Keep in mind that this shareholder pressure is nothing new. This is how “Big” business tends to work.  In the 1970s and 1980s, American car companies sacrificed quality and safety for better margins. In the 90s and 00s, airlines reduced seat size, eliminated “amenities” like free baggage and magazines, and added charges for things that used to be included.  Sacrificing the benefits and features of the users or customers to make more money is nothing new.  The pressure to get more growth or revenue is always there. In fact today we can often see companies “Meet Earning Expectations”  or in some cases beat expectations – and still lose value.

As I outlined above, we are now in an environment where the expectation is to beat revenue estimates, continue to show massive growth, and focus on exceeding the expectations of your shareholders. Outside risk factors that could cause volatility or risk slowing growth need to be addressed. For many database companies, the cloud is both a massive risk as well as a massive opportunity to deliver shareholder value.  This is especially true for companies that are not profitable. Wall Street is banking on eventual profitability just like eventual consistency.  If you look at the margins and spending from both MongoDB and Elastic, they are losing money.  They are spending on sales and marketing to capture a larger market share which they hope will lead to expansion dollars and then profitability.

Why Is This Market Special?

Database vendors have been calling out cloud vendors for a couple of years.  The big complaint has been that cloud vendors take advantage of open source licensing by offering “Database as a Service” using their software without paying anything back.   The open nature of some licensing puts cloud providers completely within their rights to do this.  Similarly, however cloud providers do offer other open source software (like Linux) through their services without the same sort of level of blowback.

In the case of MongoDB and Elastic (and others I am sure), it is not a simple matter of database providers withering and dying due to the stranglehold of the cloud.  In fact, they probably make more money from the cloud being available than they would without it.  More than half the open source databases we support here at Percona are in the cloud. Coupled with the fact that both MongoDB and Elastic are growing their quarterly and yearly revenue, it hardly seems like they are on the ropes.  So why the angst?

A couple of theories:  first, the loss of “Potential Revenue” and seeing the money and revenue the other guys are making and you are not getting any of it.  Second, back to growth. Increasing shareholder value and getting to the magic break-even number is job #1.  If they can win or claim the business other vendors have, they can accelerate that growth. As mentioned, both companies are overspending for growth now, so the faster they can reach profitability the better.

In my opinion, the cloud is the convenient excuse here for trying to accelerate growth and increase shareholder value. “If the cloud played fair, our growth would be 40% instead of 30%! Think of how much more our stock would be worth!”

Let’s not lie about it.  Companies are switching licensing not for the good of the community or their users but for the good of their bottom line and in an effort to improve their true overlords:  Shareholders and Investors.  There is nothing wrong with a for-profit company focused on shareholders. Just don’t lie about it and pretend to be something you are not.  In my opinion, open source driven by an active community of contributors, users, and inventors leads to better quality, faster innovation, and more freedom.

The user base, the contributors, and the “community” as a whole got the most successful open source companies where they are today. Communities are built on trust and goodwill.  Open Source is about innovation, freedom, and collaboration.  These recent changes hurt all three.  They turn what were iconic open source companies into just another company focused on the shareholder over the users, customers, and community that got them to where they are.

I will leave you with this.  As a user or a paying customer of any product, but certainly, as an active member of a community, my position is built on trust.  I may not agree with all changes a community, project, or company makes but I want them to be open, honest, and transparent.  I also want companies to show me with consistent actions, and not tell me in empty words, how I will be impacted.  It is very hard to trust and build respect when you say one thing and do another.

Using Elastic as an example here – and thanks to Corey Quinn on his Twitter feed for pointing this out –  over a year ago Elastic changed their licensing to a more open core model.  At the time they told us this via Github release notes:

Github elastic

The last time they made changes that upset the community, they promised they would leave these products open.  A year later and the license changed.  This leaves those users and community members of the product wondering what will change next?  Can we trust that this is it?  Can we trust when they say really SSPL is “just as good”?  And that they won’t move the line of what is acceptable in the future?

I am going to stand up (as many of you are) for more innovation, more freedom of choice, and certainly more truly open software!

Share this post

Comment (1)

  • commandline Reply

    Where are the voices of the thousands upon thousands of elastic (OSS) users who are affected by this madness. Telling lies has become normal somehow, even when it affects many there is a deafening silence.

    February 2, 2021 at 6:27 pm

Leave a Reply