Amazon Web Services (AWS) sponsored this post.
It’s clear that cloud has had a big impact on open source, dramatically increasing its appeal by making open source easier and cheaper to run, while minimizing a variety of risks.
The impact of open source on cloud computing, however, may be even more pronounced. “Cloud as we understand it just wouldn’t exist” without open source, argues PostgreSQL developer Paul Ramsey. Purely based on economics, the cloud would be “impossible” without open source, adds Selenium and Tapster founder Jason Huggins.
Yes, really. “The Googles of the world would never have even existed if they had to pay Oracle a license fee per database or per CPU,” Huggins says. This isn’t about a big company trying to plump profit margins, it’s about the sheer impossibility of running millions of servers against a per-unit pricing model. “You can’t scale a webstore by spinning up extra VMs, if each one runs $PROPRIETARY_UNIX and so costs you $1K in licenses for each to deploy. It only works if the incremental license cost is $0,” open source pundit Liam Proven says.
The numbers don’t just look bad. They look, as Huggins says, “impossible.”
Nor is it merely a matter of incremental costs. In theory, you could negotiate down that Oracle fee. (Go ahead! We’ll wait!) But, as GitHub COO Erica Brescia points out, this wouldn’t solve the problem. “Even if you worked through the pricing issues by changing fee structures, just tracking licensing and entitlements would have added a lot of complexity to an already-challenging technical problem,” Brescia says.
Beyond the cost of the software, there’s the quality of the code. According to former MySQL CEO (and current HackerOne CEO) Marten Mickos, open source offered “a wealth of horizontally scalable software with few bugs, available at no expense for cloud providers (operating system, virtualization, database, middleware, development languages, and frameworks, etc.).” Tapping into (and contributing back to) this wealth of code, cloud providers were able to build an array of services, including many open source projects turned into services.
But it’s even more than this.
The cloud is all about foundational building blocks, AWS Vice President Matt Wilson says. Not surprisingly, this is the core of open source too, borrowed from its early Unix influence. While there are certainly monolithic open source projects, the ethos of open source is very much about piecing together modular components to create larger compositions.
(Not) Reinventing the Wheel
While this seems somewhat obvious today, not every company started this way.
Microsoft Azure, for example, started as an attempt to re-create Windows in the cloud. When Microsoft’s Manuvir Das, director within the Windows Azure team, introduced the company’s approach to cloud in 2008 (start around minute 3:38 in the video), he was dismissive of the AWS (and Unix-like open systems) approach to “patching together” modular components like Memcached, and instead said what had been missing from the cloud was “one cohesive operating system that you can just go use.” He goes on to say, “It’s called Windows Azure because it is based on Windows and we think it’s an operating system for the cloud.”
That was then, this is now; and “then” didn’t work out very well for Microsoft. While Azure continues to run on a heavily modified version of Windows, it no longer tries to expose Azure as an operating system. Instead, it has followed AWS and others to foster an open ecosystem of composable pieces that developers assemble to run their applications. Unsurprisingly, most of Azure’s workloads today run on Linux.
It’s the correct approach to the cloud, and it’s very much a matter of embracing the open source ethos. In this way, analyst Tony Baer says, the cloud providers avoid “having to (always) reinvent the wheel.” AWS partner lead Mark Baker agrees, saying, “Open source commoditizes software. Cloud is the packaging of open source with hardware, UI, and interfaces to commoditize service delivery.”
What Comes Next… Starts with Open Source
Which brings us to an essential, existential point. While cloud has made open source more accessible to and productive for enterprises, open source isn’t “impossible” without cloud in the same way that cloud is impossible without open source. Much better, yes. More usable, more scalable, more accessible. Yes. Yes. Yes.
But not impossible.
Open source predates cloud, argues AWS delivery practice manager Adam Ulvi. He told me in a text conversation, “I’ve been around in this industry long enough to see us move from physical to virtual machines, and from data centers to the cloud. I don’t know what comes next, but I am certain that whatever it is, it starts out open source.”
We’re definitely seeing this with so many current technology trends, from machine learning to big data and beyond — all starting with open source. In addition, as Spark Labs CEO Lauren Cooney says, pretty much all of modern software development principles and tools for cloud are open source or heavily influenced by it.
Cloud might be the platform, in other words, but it’s open source that animates much of the more interesting things that happen with it.
It’s also open source collaboration, according to Brescia, that continues to help us get the most from cloud. One example, she says, is Netflix — which opened sourced Chaos Monkey and that helped others build more resilient systems. In turn, we’ve seen the cloud providers, including AWS, more actively contribute code — including essential building blocks like Firecracker. This is good and helps sustain the incredible cloud momentum we’ve seen across the industry.
Yet we need more.
The best open source comes from those who live with that software, day in and day out, with Brescia’s example of Netflix particularly potent. By contrast, Wilson says, “[S]oftware vendors dominate the enterprise software space. And I think that is a reason why so much of it is so, so bad. Because the people building the software are not using it to solve problems.” With a new wave of enterprises contributing to open source, by contrast, he continues, “it will be better because of a positive feedback loop of putting the software into an applied practice.”
It’s coming, just in time. The world’s best open source software increasingly runs in the cloud, often as a cloud service, with cloud providers and other users of that software actively contributing back. Together, open source and the cloud provide a tremendously positive feedback loop that promises to yield a golden age of increasingly open cloud services.
Feature image via Pixabay.