Are Cloud Services the Future of Open Source?
It’s nice to think of open source software as projects supported exclusively by developers who contribute out of pure love, with no profit motives in sight. Those projects do exist, but many, perhaps even most, open source projects either start out as backed by a company or eventually look for ways to monetize the project as the founders start companies around the project.
Maintaining an open source project takes time. Developers, even those who love open source, have to make rent payments and buy groceries, too.
At the same time, open source is not always “enterprise-ready.” Sometimes the pure open-source version is not as user-friendly as it could be, making it accessible only for the most technically sophisticated teams.
Offering open source software as a managed service, generally, as a managed cloud service, is a way to solve both of those problems. “From a customer standpoint, the company that wants to leverage this open source project, a lot of it is about not having to operate the thing,” explained Tomer Shiran, chief product officer at Dremio, which has both an open source version of its data lake technology and a cloud-based (Amazon Web Services) edition. “It’s more of a SaaS approach. Then from the software vendor standpoint, it’s been amazing because one of the challenges with open source has been, how do you get people to pay for it. But companies are used to paying for SaaS.”
MongoDB Atlas is a prime example. “Customers don’t want to manage and maintain their own database,” explained Ben Wolfson, media relations manager at MongoDB. “Pre Atlas it took us around 10 years to get to $100M in revenue. Since its launch (in 2016), MDB Atlas has become a quarter of a billion-dollar ARR business with over 17,000 customers.”
Let’s dive into the relationship between cloud services and open source projects.
Who Gets to Profit from Open Source?
If we accept that open source is not a pure labor of love but also a way for developers to make money, the next questions are if there’s a “good” and “bad” way to monetize open source projects as well as if there are some people who are “allowed” to monetize open source and others who aren’t.
There are a couple of open source business models — there’s the “support” model, where the company sponsoring the open source project offers support to users, often on a subscription basis. There are also “open core” projects, in which the company makes an “enterprise” version of the software that requires a license. The cloud services model is another way to monetize open source projects. Initially, though, there was a big problem — big cloud providers could also take an open source project and run it as a cloud service.
“A lot of the open source community came to the conclusion years ago that large cloud providers just taking open source and hosting it was a threat to the community itself,” said Dan Rosanova, Confluent head of product management for Confluent Cloud. Indeed, that was precisely what led MongoDB to change its licensing agreement in 2018 — a move that was both controversial at the time and precisely meant to prevent cloud providers from using MongoDB for their own paid database offerings.
But there was also clearly a demand for easier-to-use open source projects. Using most open source projects in a data center is not particularly easy, and involves paying experts quite a bit just to make it work right.
“The biggest thing I see, at companies large and small, is people forget the cost of the staff that’s required to run stuff,” Rosanova said. “People are the most important thing in a company, and they are the most limited asset. The biggest mistake I see people make, especially with the super hot open source technologies or the obscure open source technologies, is that being able to staff that appropriately is expensive.”
The Best of Both Worlds for Customers
For customers, cloud services versions of open source projects can be the best of both worlds. They get the innovation associated with open source technologies and also continue to support open source communities while paying someone else to handle the “last mile” of the open source package.
According to Shiran, avoiding lock-in is another reason customers might want to use a cloud services version of an open source technology. “I can go get the open source flavor and deploy it myself in whatever cloud I want,” he said. “If I’m ever going to go on-prem, I’ll have that flexibility.
The success of open source technologies depends on communities, and even companies like Mongo continue to invest heavily in the pure open-source project. MongoDB spends 50% of its R&D budget on the core open source MongoDB project. Communities are the reason open source is attractive, too. “You have this broader ecosystem, because of the open source heritage, whether it’s a community of contributors or a community of partner products and technologies that integrate with it,” Shiran said. “You wouldn’t necessarily have that if you were just a proprietary SaaS product.”
Cloud services are a way for customers to get the broad ecosystem behind open source technology with the ease-of-use they need for an enterprise solution — something that allows their internal team to spend more time building value for the company and less time managing infrastructure or adapting open source technology to make it work correctly.
But just as important for the open source ecosystem, cloud services appear to be a lucrative revenue stream for companies built around open source projects. “Even companies that had massive adoption, like Docker and MySQL, had very limited outcomes at the end of the day relative to their adoption,” Shiran explained. “If you can’t make money as an open source project, then the open source project is basically gonna die because you need a lot of engineers and that’s millions of dollars a year in investment. It’s in everybody’s interest to ensure that the open source vendor, the main company backing the project, is financially successful.”
Amazon Web Services, Confluent and MongoDB are sponsors of The New Stack.