Fotolia

AWS pushes MongoDB compatible alternative as licences change

They probably didn't see that coming... MongoDB's switch to server-side licensing may have backfired, as AWS launches an API-compatible version

This article can also be found in the Premium Editorial Download: Computer Weekly: Moving beyond network boundaries

Earlier this week, Amazon Web Services (AWS) announced a fully managed MongoDB compatible database service. Given the breadth and depth of AWS, this new service could seriously impact MongoDB’s business model..

AWS has introduced a new service, Amazon DocumentDB, which is compatible with MongoDB, providing what the cloud giant says is a fast, scalable, highly available and fully managed document database service that supports MongoDB workloads.

AWS said Amazon DocumentDB implements the Apache 2.0 open source MongoDB 3.6 application programming interface (API) by emulating the responses a MongoDB client expects from a MongoDB server, allowing customers to use their existing MongoDB drivers and tools with Amazon DocumentDB.

The move to create a MongoDB compatible database that runs as an AWS service appears to be in response to changes in the way MongoDB’s and other open source databases are now licensed.

In October 2018, Eliot Horowitz, chief technology officer and founder of MongoDB, changed the open source licensing used for MongoDB to reflect the risk of the company's service revenue being gobbled up by public cloud providers. To protect its revenue, MongoDB introduce a server-side public licence.

In a blog post explaining the change, Horowitz wrote: “The revenue generated by a service can be a great source of funding for open source projects, far greater than what has historically been available.

“The reality, however, is that once an open source project becomes interesting, it is too easy for large cloud supplier to capture most of the value while contributing little or nothing back to the community. As a result, smaller companies are understandably unwilling to wager their existence against the strategic interests of the large cloud suppliers, and most new software is being written as closed source.”

Changed licence

Similarly, in August 2018, in-memory database company Redis, changed its open source licence under Apache Common Clause. This restricts the sale of a product “whose value derives, entirely or substantially, from the functionality of the Software”.

Selling a product which adds only an insubstantial value to the software – such as changing the product name, changing some API or function names, or just making the Commons Clause licensed product available via software as a service (SaaS), is restricted.

At the time of the licence change, Redis said: “Today, most cloud providers offer Redis as a managed service over their infrastructure and enjoy huge income from software that was not developed by them. Redis Labs is leading and financing the development of open source Redis and deserves to enjoy the fruits of these efforts.”

Redis said it was committed to keeping its core software open, through the BSD licence. But it added: “Certain add-ons on top of Redis (modules), however, are now licensed under Apache 2.0 modified with Commons Clause.”

It said that while these modules can be freely used in any application, selling a product whose value derives, entirely or substantially, from their functionality is prohibited.

“In simple words: if your product is an application that uses such a module to perform select functions, you can use it freely and there are no restrictions on selling your product. However, if what you sell is basically the functionality of the module packaged as a cloud service or on-premise software, Commons Clause does not allow it.”

Same code

Given these restrictions, it appears AWS has developed its own MongoDB-compatible databases based on the core open source code, rather than pay for the server-side licence.

One of the key selling points of DocumentDB AWS is that developers can use the same MongoDB application code they already use in their MongoDB applications. However, all the underlying infrastructure is now managed by AWS.

AWS has even introduced a migration tool which it says enables customers to migrate their on-premise or Amazon Elastic Compute Cloud (EC2) MongoDB databases to Amazon DocumentDB with virtually no downtime.

Read more about open source licensing

From a customer perspective, by making use of AWS’s spread of datacentre facilities, AWS said Amazon DocumentDB is designed for 99.99% availability by using the AWS multi-Availability Zone (AZ) technology.

It replicates six copies of a customer’s data across three AWS Availability Zones (AZs). Amazon DocumentDB’s architecture also allows customers to save money when running MongoDB databases as customers can get started with one instance for durability and only requires a second instance for high availability, AWS said.

One of the early adopters, Capital One bank, previously spoke at the 2016 MongoDB summit, suggesting it has moved over to the AWS service. Sunjay Pandey, vice-president, Capital One, said: “Amazon DocumentDB integrates deeply with AWS services and provides us with a robust, highly scalable and cost-effective database service that meets our operational requirements. With Amazon DocumentDB, our developers will be able to move faster and focus more on innovating on behalf of our customers versus managing a database.”

In a recent interview, when asked if AWS supported open source code and providers, Gavin Jackson, who heads AWS in the UK, told Computer Weekly: “We’ve been involved in open source since the beginning. The whole EC2 compute instance is built on an open source hypervisor – [although] highly modified these days – but still open source none the less.

“And we have contributed as we have done in lots of different technological categories in lots of different open source projects through our marketplace as well… A good portion of [marketplace] is open source software.

“We’re contributing to open source software, we’re committed to open source software within the architectural designs ourselves and we’re also a marketplace for open source to be consumed by more and more customers. Nothing has changed for us in that regard and we are still very committed, and will continue to be committed to open source.”

Bending the rules

However, the fact that DocumentDB conveniently gets around the limitations imposed by MongoDB’s shift in licensing to prevent cloud providers from taking away its support revenue stream, suggests AWS may be bending the rules of acceptable behaviour in the open source community.

As MongoDB’s Horowitz points out, revenue from enterprise support is needed to enable open source is essential to fund the ongoing development of OSS projects. In the past, public cloud providers could take the code and freely distribute it as part of a managed service on their vast infrastructure.

The recent licence changes made by Redis and MongoDB effectively put a stop to this. Now, it appears, AWS has found a way around the licence limitations of server-side licensing and Apache Common Clause, by basing DocumentDB on the wholly open source MongoDB APIs, rather than supporting MongoDB's enterprise efforts, with its server-side licensing offering.

In fact, in a transcript of the company’s Q3 2019 earnings call posted on the Seeking Alpha financial blogging site, Dev Ittycheria, president and CEO of MongoDB, said: “I think there is a lot of debate in the industry today about how much cloud providers really contribute back to open source – the open source community.

“They’re very good at taking the open source projects plugging into their cloud platforms and then monetising it, but they’re not so good at giving back to the community, especially when you measure it on a percentage of R&D.

“About half of our R&D goes towards our free Community Server. No cloud provider comes even close to that. I would say maybe 1% [of their R&D] is given back to the communities.”

Read more on IT supplier relationship management