Convenience, open source, and the cloud

Matt Asay wonders whether the superior convenience of cloud-based services may reduce the uptake of open source solutions:

Open source risks being devoured by the very cloud to which it gave birth, by @mjasay: Google, Facebook, and the other dominant web companies depend upon open source. Born in the cloud, the economics of proprietary software are inimical to the scale at which such companies operate. As Facebook's engineering team noted in a blog, "Facebook is built on open source from top to bottom, and could not exist without it." Could not exist. This isn't a matter of personal preference, but existential reality....

On the one hand, as Redmonk analyst Stephen O'Grady highlighted, the Facebooks and Googles of the world are happy to release mountains of open source.... The problem, however, is that one of open source's biggest advantages - convenience - is trumped by cloud convenience.

Asay concludes that this is overall a positive trend, one that open source companies should embrace.

I generally agree - in the past, individual open source packages may have been the convenient for individual developers due to cost, licensing, availability, etc., and that this is not necessarily still true due to the widespread availability of SaaS apps.

But the "convenience" argument still rings true for me. I think that the locus of "convenience" is just moving up the stack, from a focus on individuals to a focus on teams. If you move up one layer to the type of software being developed by teams, you again start to see the the use of open source as an enabler. Sure, individual components may be "outsourced" to SaaS apps as various teams begin development. Non-core functions may be outsourced for a long time. But as soon as product-market fit is found, teams tend to bring the development in house and build using traditional open source development methodologies.

I see this behavior as the result of discovered competitive advantage and resultant specialization. If an app is so simple that it can be built/scaled by simply wiring together other existing IaaS/PaaS/SaaS infrastructure without a custom component, then it is likely that new entrants into the market will reduce the profit in that segment down to an uninteresting level. Alternatively, teams that build bespoke architectures will have advantages in scale or cost of delivery that that will drive others out of the market.

I also believe that this is why the new hot applications in open source tend to be software that shines when scale or team coordination is needed - DevOps (generally), container orchestration (Docker, Mesos, Kubernetes), and streaming-ready architectures (Kafka, Spark, Storm, etc).