Cloud vendors are barriers like department stores and supermarkets are barriers. But, people associate these entities with providing a huge variety of goods and services, all in one place — so how can that be a barrier?
Well, that’s looking at it from the consumer perspective. For the producer, there are mixed benefits. These "super sellers" allow access to much larger markets for most single-product producers, but they have negatives:
- They become the place consumers associate with your product.
- They have the relationship with the consumer.
- You can easily be replaced if a better product appears.
- They take a markup.
As the producer of a physical product, it is up to you to decide if working with department stores and supermarkets is a positive or negative. However, with open source software, there is no calculus. Unless your open source license prohibits modified or unmodified hosting of your software on cloud servers, you have no control over whether a cloud vendor is the way consumers interact with your open source software.
The cloud vendor is the one who downloads the software, configures it, perhaps supports it, and guarantees uptime. The cloud vendor can leverage software revenue opportunities. To avoid cloud usage, some software producers have chosen or created licenses that restrict such usage:
In response to the license handling of Elasticsearch, AWS forked (1, 2, 3) the Apache 2.0-licensed Elasticsearch source code and started writing code to replace the proprietary features. Sometimes even license changes don't protect open source projects from cloud vendor barriers.
This is nothing new. Commercial companies like Red Hat have supported open source software since their inception, and have generated revenue from that relationship and bundling. Cloud vendors are just another set of companies that are making open source easier to use, and benefiting from it. While software-bundle vendors like Red Hat can customize the software for their bundle, cloud vendors can also optimize the software for their hardware and infrastructure. This is a clear value to customers that is hard for software producers to match.
This article discusses the history of open source business models, This article describes cloud vendor behavior as "strip mining." There was even a recent conference where open source vendors met to discuss how to deal with cloud vendor competition (sponsored by AWS).
Company-Controlled vs. Community-Controlled Open Source Software
There is one big distinction in all the open source software products I have listed above—they are all company-controlled open source, meaning the development is mostly controlled by a single company, which monetizes use of the software, while distributing it as open source. This is drastically different from community-controlled open source projects like Postgres.
There are far fewer challenges to community-controlled open source projects from cloud vendors, mostly because there is no monetization goal. There is some concern that cloud vendor relationships with users will diminish community contributions, but it is not clear if this even true. Cloud vendors clearly increase the use of community-controlled software, and to the extent, the cloud vendors reference open source communities in their interaction with customers, it helps these communities.
Just as bakeries, flower shops, produce markets, meat, cheese, and seafood sellers struggle to survive when supermarkets provide convenient, if somewhat less diverse, products, so company-controlled open source will suffer from cloud vendors.
For open source communities, the only real risk is that companies that support its open source developers will struggle, and therefore reduce paid developers working on open source projects. That connection is hard to measure from an open source project perspective, so we will just have to wait and see how things evolve.