“The cloud was built for running open source,” Matt Wilson once told me, “which is why open source [has] worked so well in the cloud.”
While true, there’s something more fundamental that open source offers the cloud. As one observer put it, “The whole intellectual foundation of open interfaces and combinatorial single-purpose tools is pretty well ingrained in cloud.”
That approach is distinctly open source, which in turn owes much to the Unix mentality that early projects like Linux embraced.
Hence, the next time you pull together different components to build an application on Microsoft Azure, Google Cloud, Amazon Web Services, or another cloud, realise that the reason you can do this is because the open source ethos permeates the cloud.
Thank you, Unix
Open source has become so commonplace today that we are apt to forget its origins. While it would be an overstatement to suggest that Unix is wholly responsible for what open source became, many of the open source pioneers came from a Unix background, and it shows.
Here’s a summary of the Unix philosophy by Doug McIlroy, the creator of Unix pipes:
- Make each program do one thing well
- Expect the output of every program to become the input to another, as yet unknown, program
- Design and build software, even operating systems, to be tried early, ideally within weeks. Don’t hesitate to throw away the clumsy parts and rebuild them
Sound familiar? From this ideological parentage it’s not hard to see where open source gets its preference for modularity, transparency, composability, etc. It’s also not much of a stretch to see where the open source-centric clouds are picking up their approach to microservices.
Thank you, open source
In turn, the different clouds have all converged on similar design principles. As Wilson notes, the “composable pieces” ethos of open source “is a property of open systems, and a general Unix philosophy that [is] carried forward in the foundational building blocks of cloud as we know it.”
Cloud is impossible without the economics of free and open source software, but cloud is arguably even more impossible — at least, in the way we experience it today — without the freedoms and design principles offered by open source. Erica Brescia makes this point perfectly.
Importantly, we’re now in a hyper-growth development phase for the cloud, with different companies with different agendas combining to open source incredibly complex, powerful, and cloud-native software to tackle everything from machine learning to network management.
As Jono Bacon notes, "Open source created the model for collaborative technology development in a competitive landscape. The cloud manifested as the most pressing need to unite this competitive landscape together. This led to a rich tapestry of communities sharing best practices and approaches."
This “rich tapestry of communities sharing” owes its existence to open source. Clouds may provide the platforms where open source increasingly lives and grows, but the animating force behind the clouds is open source.
Given the pressing problems all around us, we’re going to need both cloud and communities — each driven by open source — to help tackle them.