The concept of open source strip mining is not new. The use of open source software for financial gain with no intention of contributing back to the project in use can be traced almost as far as the concept of open source software itself. The issues has gained attention recently however as multiple products are being released by cloud providers that make use of open source software and in some cases the foundations overseeing the projects are seeking ways to prevent strip mining by cloud providers.
Strip Mining in the forefront
MongoDB mades waves in late 2018 when they released the Server Side Public License which essentially states that the database may not be used by service providers unless they share back the source code of their applications used to provide the service which they are monetizing. This was largely seen as a move against Amazon Web Services (AWS) which has multiple services offerings based on open source projects. This did not appear to have the effect that MongoDB had hoped as AWS released a new MongoDB compatible service shortly thereafter named DocumentDB. This essentially offers customers a managed MongoDB compatible service without actually using, much less contributing to MongoDB.
Other notable cloud service releases raise questions about the feasibility of maintaining an open source project if it will only result in a big cloud provider making you redundant. The release of AWS Managed Streaming Kafka (MSK) essentially introduced a major competitor to Confluent the leading managed Kafka provider and contributor to the Kafka project. Confluent responded much like MongoDB by making changes to their licensing model, but instead of making the platform unavailable to SaaS providers, the product is adopting an “open core” model whereby their community edition is free to use as long as it is not part of a competing offering.
Differentiation As An Alternative
Although cases such as MongoDB and Confluent are recent, they are not the only examples of open source projects responding to the use of their product by for profit SaaS providers. It begs the question as to whether or not this is a battle they will be able to win. Can you prevent a big company from co-opting your project for their own gains without contributing back and helping the project move forward? If you have an enterprise ready product that can be made redundant by a large cloud provider, how to you avoid the constant worry that you may be out of business in a matter of weeks? I recently had a chance to hear from MariaDB about what they are doing and how they have had success by offering an alternative to SaaS versions of their product rather than fighting them head on.
Most are already familiar with MariaDB and its genesis as a fork of MySQL that was a direct result of the Oracle purchase of Sun Microsystems back in 2010. Concerns over the future of MySQL under the ownership of Oracle caused some of its lead developers to fork the existing project and create MariaDB to ensure that development of the platform would continue in wake of the acquisition. Since the forking, development of MariaDB has indeed continued at the pace expected from the open source project. While MySQL is still active, it has not appeared to keep up the pace of feature additions that MariaDB has.
An Alternative for the Enterprise
As a results of MariaDB’s continued pace of development it has become the fastest growing open source database. Those seeking an alternative to the commonly used enterprise DBs such as Oracle and Microsoft SQL are increasingly turning to MariaDB’s enterprise offering which adds features that are not available in the open source community edition of the platform. This is where MariaDB differs from SaaS offerings built on their platform. Without a partnership with MariaDB themselves, cloud providers like AWS or Azure cannot offer the advanced features of MariaDB such as HA, Failover, and analytics.
Additionally, any support for such a service can only come from the cloud provider and not from MariaDB directly. MariaDB enterprise customers are entitled to support directly from the company that owns the platform, and the support level is something that the company prides itself upon. When customers call for help, they are always answered by a person rather than an automated attendant.
While it’s true that MariaDB enterprise customers could choose to stand the platform up in the cloud of their choice, should they desire to consume MariaDB enterprise as a service then the likely choice would be to purchase MariaDB’s own managed service. Other than Alibaba Cloud, no third party cloud provider is currently permitted to offer MariaDB enterprise as a managed service.
Combine all these factors, enterprise features, unique managed service offering, and excellent customer support, and you get a product and offering that are a compelling alternative to the managed services that are being built upon an open sourced community version of MariaDB. It is this combination of factors that provides MariaDB not necessarily fight the practice of open source strip mining, but an alternative to products built in that model.
Ken’s Conclusion
With the recent controversy over the use of open source software as a basis for paid managed services is understandable, tempering immediate emotional reactions with that of a calm measured approach is likely to work out better in the long term for the foundations and corporations that are the stewards of open source. While it may not be possible force contribution by the providers that are profiting from the work of a community, building an alternative that is more compelling and attractive as a means of sidestepping strip mining is a practical strategy in the face of a new challenge.