At the peak of its power, open-source software is having an existential crisis.
There’s no question that the concept of open-source software has revolutionized the enterprise software world, which spent billions of dollars fighting the mere idea for several years before accepting that a new future had arrived. But more than a few people are starting to wonder if the very nature of open-source software ― the idea that it can be used by pretty much anyone for pretty much anything ― is causing its developers big problems in the era of distributed cloud computing services.
Since we last explored this topic, two prominent open-source software companies have made the decision to alter the licenses under which some of their software is distributed, with the expressed intent of making it harder ― or impossible ― for cloud computing providers to offer a service based around that software.
Two companies does not a movement make. But as the cloud world packs its bags for Las Vegas and Amazon Web Services’ re:Invent 2018 conference next week, underscoring that company’s ability to set the agenda for the upcoming year, the intersection between open-source projects and cloud computing services is on many people’s minds.
“The way that I would think of it, the role that open source plays in creating commercial opportunities has changed,” said Abby Kearns, executive director of the open-source Cloud Foundry Foundation. “We’re going to see a lot more of this conversation happening than less.”
Changing of the guard
“I would put it in a very blunt way: for many years we were suckers, and let them take what we developed and make tons of money on this.”
Redis Labs CEO Ofer Bengal doesn’t mince words. His company, known for its open-source in-memory database, has been around for eight years, an eternity in the fast-changing world of modern enterprise software.
Cloud computing was very much underway in 2011, but it was still a tool for early adopters or startups that couldn’t afford to bet millions on servers to incubate a promising but unproven idea. Most established companies were still building their own tech infrastructure the old-fashioned way, but they were increasingly realizing that open-source software would allow them to build that infrastructure with open-source components in ways that were much more flexible and cheaper than proprietary packages from traditional enterprise software companies.
Redis became quite popular during that period, and major companies like American Express, Home Depot, and Dreamworks built tech infrastructure using the database. Redis Labs offers its own product, Redis Enterprise, that provides the database as a service on public clouds or supports customers running it on their own infrastructure, and continues to contribute to the Redis open-source project.
AWS likes to insist that it is primarily focused on its customers, but that focus also allows it to see which technologies and services are gaining traction in order to offer similar services to its customers. It launched an AWS-managed version of the open-source version of Redis as a cloud service in 2013.
Since then, AWS has made “hundreds of millions” of dollars offering Redis to its customers without contributing nearly as much to the open-source community that builds and maintain that project, Bengal said. It’s impossible to know exactly how much money we’re really talking about, but it’s certainly true that AWS and other cloud providers benefit from the work of open-source developers they do not employ.
“Ninety-nine percent of the contributions to Redis were made by Redis Labs,” Bengal said. There’s a longstanding myth in the open-source world that projects are driven by a community of contributors, but in reality, paid developers contribute the bulk of the code in most modern open-source projects, as Puppet founder Luke Kanies explained in our story earlier this year.
That money has to come from somewhere. For a long time, Redis was a good example of a successful open-source business model, shepherding the base project while developing its own software and services around it. But as more and more companies embrace cloud computing and “lift and shift” their existing applications and infrastructure to providers like AWS, it makes a lot of sense to use the AWS Redis service alongside all the other table-stakes AWS services like EC2 and S3 as opposed to a service offered by Redis through the AWS Marketplace.
“This is a problem not just for us but for almost any successful open-source project to date,” Bengal said. And while AWS is always the focus of these conversations due to its market power, it’s far from the only cloud provider around the world offering these types of open-source projects as services.
So in August, Redis Labs decided to convert the license it uses for new database extensions built on top of Redis — but not Redis itself — to the Commons Clause license, which specifies that other companies are not allowed to offer those extensions as a cloud service.
“We keep the freedom to decide for each piece of software whether to put that under the permissive open-source license or Commons Clause,” Bengal said. “This is basically a business decision.”
Then in October, another well-known open-source database company made a similar decision. MongoDB announced that going forward, it would license the MongoDB Community Server software under a different license called SSPL, which allows cloud providers to offer MongoDB as a service but requires them to either open-source all of the code they write to create that service or reach a commercial arrangement with MongoDB.
“Whenever a new open-source project becomes popular, cloud providers strip mine the technology, put the freeware on their platform, capture most if not all of the value but give little back to the community,” said Dev Ittycheria, president and CEO of MongoDB, currently valued at $4.3 billion on the Nasdaq. “We think it’s important for someone like us to lead and help the next set of open-source companies and projects thrive and grow.”
It’s not a coincidence that two database companies are leading this charge. Databases are extremely complicated projects to develop and absolutely vital to any enterprise company operating at scale.
Ittycheria estimated that MongoDB had spent $150 million on research and development over the years to create and maintain the open-source version of the database. In its last fiscal year, MongoDB recorded $154.5 million from its commercial software and support services.
“Our view is that open-source software was never intended for cloud infrastructure companies to take and sell,” wrote Salil Deshpande, managing director of Bain Capital Ventures, in a post on Techcrunch after Redis announced its decision. Deshpande is an investor in Redis Labs and whose efforts to organize open-source companies and develop the Commons Clause license we previewed in March.
As open-source software became such an important part of the enterprise software world, it was probably inevitable that commercial interests would start to influence its direction more and more. The questions now are, what does it mean to be open source? And what do companies that generate revenue from offering services around open-source projects they did not develop owe to the creators and maintainers of those projects?
Open and shut
When considering the first question, it’s important to note that Redis’ Commons Clause license is decidedly not an open-source license, which everyone involved readily admits. Redis remains an open-source project under the widely used BSD license, but the company now applies the Commons Clause license to extensions it develops around that project.
With MongoDB, it’s a little different. Because the SSPL license stipulates that more open-source software should be the result when cloud providers offer an open-source project as a service, the company argues that this is consistent with the ethos of open source.
“Everyone wants more open source, but someone’s got to fund it. And to fund it you need to make sure you have a commercial existence,” Ittycheria said.
Adam Jacob, co-founder and CTO of Seattle’s Chef, which maintains a trio of open-source projects designed to make infrastructure and application management easier, was skeptical that this is the right direction for the future of open-source projects, developers, and companies.
“I don’t think it’s a community-based movement, for sure it’s not a movement in the way open source was a movement or that free software was a movement,” Jacob said. “It’s not like there’s a third-leg movement that’s like, ‘you know what we need is stronger commercial protections for businesses.’”
After all, when they were getting off the ground and raising money companies like Redis and MongoDB were quite happy to take advantage of the friendly and open-minded nature of the open-source community to spread the word about their creations, he said.
“The more interesting thing hiding inside here is that, from an open-source business model point of view, the open-source part of what they were doing was always a component of distribution for their business model. It was more about developer reach,” Jacob said, the primary goal being to create a “funnel strategy” that would draw in users with a free version and upsell them on the commercial version.
Yet for a lot of small companies, participating in open-source communities and maintaining projects is the only way to compete against the more established players. One of the hardest things to do as a young unproven enterprise software company is to convince other companies they need to pay for your product.
“Open source offers a lot of opportunity, particularly for startup companies,” Kearns said. But at some point, that early strategic decision can become an albatross, she said; another really hard thing to do is to convince someone that what they once enjoyed for free now comes with a price.
Clouds on the horizon
This perhaps gets to the crux of the debate: is there still value in developing software out in the open as a community process that everyone can use, even if the days of the hobbyist open-source developer are long gone and cloud providers can take advantage of that work without having to contribute anything back?
Jacob thinks so.
“My belief is that what we have done wrong, we actually stopped trusting the commons and the value of free software as a necessity for building better communities because we decided very early on that the business and the community were two separate things,” he said.
Redis and MongoDB believe they aren’t throwing their open-source communities under the bus. They argue they have no choice but to find new ways to financially support the work of their developers, who are absolutely essential to the health of those communities, even if some of that work remains proprietary or comes with strings attached.
The big three cloud providers are keeping quiet on these issues for now, declining to make executives available to discuss this shift in open-source licensing. Google has evangelized the value of open-source since its earliest days, while Microsoft and AWS have taken different paths to this new world.
After years as Public Enemy #1, Microsoft has embraced open-source software, hiring developers with strong open-source experience and making some key contributions back to several communities. AWS has been slower to work closely with the open-source community, but has changed its tune over the last few years, bringing on open-source veterans like James Gosling and Adrian Cockcroft to shift its thinking about community contributions.
If more companies switch to this more aggressive style of licensing, it could force a shift in product-development strategies at cloud providers as they assess which services are worth striking commercial deals over, and which are not. For now, there are still lots of startups launching companies and projects around traditional open-source licenses, which means the industry is waiting to see how the market reacts to Redis and MongoDB’s moves.
But cloud computing has changed nearly all of the assumptions around how modern businesses should build and manage the technology they need to compete in the 21st century. It wouldn’t be too surprising if cloud computing changed some of the assumptions behind open-source software development.