Andrew Leonard has nice post on medium which summarizes a lot of the current angst around Amazon’s use of open source to power its services. (A post with one of the best blog graphics I’ve seen in a long while: it’s worth clicking through even just for that!).
The current controversy revolves around Elastic‘s changes in its approach to open source by mixing proprietary components with community and Amazon’s reaction to it. Amazon’s launch of a new (competing) distribution cited Elastic’s changes and the need to protect the open source nature of the project. Who is “right” in any meaningful sense is difficult to pin down:
- Changes like Elastic’s do muddy the waters for users and could endanger the long term viability of some of these projects.
- On the flipside: multiple open source based companies in the last few months have felt forced to make business model changes. This is because they feel that Amazon in particular effectively take these community projects, works on them internally, launches services based on them and competes with community contributors without giving enough back.
The huge distribution power of the Amazon platform then means that the resulting services are very often the easiest choice for users: making it hard for the primary contributors to the open source products to succeed.
There likely is no “right answer” to who is at fault. The underlying problem is the challenging of dynamic of open source needing to be free to use by anyone vs hosted SaaS services now being an extremely compelling way to consume this functionality.
The only real solutions to this are:
- Changes in open source licensing to prevent unlimited profits from open source via hosted services (the GPLv3 license initially attempted to prevent SaaS usage without redistribution of code, but ultimately took the restriction out, the Affero license does have such a restriction).
- Originators of open source running their own competitive SaaS service to take advantage of the revenue opportunities they bring.
Unfortunately both of these are complex. The licensing route would likely impact all sorts of open source usage and endanger the communities even more than cloud providers do. For example, how would one distinguish between a cloud provider running a database service v’s a bank using the same software to enhance its banking services?
The “run your own SaaS” is challenging in many cases not only because it is difficult to build a SaaS business, but also because the current large cloud vendors have extremely broad and deep distribution channels that make it very hard to compete with them.
One thing that is not a viable solution, however, is to stop doing or “close up” open source. Shuttering projects or restricting them software projects to stop threatening re-use ultimately shuts down the utility of Open Source and makes proprietary approaches stronger: likely putting the dominant cloud players in an even stronger position.
It should be recognized that Google, Microsoft in particular but also to some extent Amazon are making open source contributions. So one can hope that there will be a healthy dialogue on exactly how projects and communities can be safeguarded.
In the long run, however, it will be important that open source projects, particularly those that are moving quickly, find ways to monetize the SaaS variants of their software. Either through their own SaaS offerings or by some form of revenue share arrangement. If this doesn’t happen it’s increasingly likely some of the leading projects of the day will become less and less viable.
Also see a great Stephen O’Grady article on this topic: “The Cloud and Open Source Powder Keg”.
Opinions on this topic (and all topics on this blog) are my own and should in no way be interpreted as representing my employer.