DEV Community

Robin Pokorny
Robin Pokorny

Posted on • Originally published at

Are open-source databases dead? [Quora answer]

This is an answer to a Quora question: Are open-source databases dead?.

Yes, they are dying (this is no joke answer).

Sure, many open-source databases are being used and maintained every day. And, of course, any open-source software will exist and can be forked by anybody. So on the technical level, they cannot die.

However, we have seen several big open-source databases die in the past years. MongoDB, Redis, CockroachDB, TimescaleDB, and–most recently–Elasticsearch. All of those databases ceased to be open-source.

Let me show it on the example of MongoDB and Elasticsearch. Both of the companies behind the databases decided to switch to Server Side Public License (SSPL) which is not considered to be an open-source license. Since this license allows free (as in beer) use for some use cases we will likely be seeing them for quite some time. It’s nevertheless a death of an open-source project.

The reason cited by both projects is… Amazon. More specifically AWS. You see, Mongo and ES were developed by companies and these companies not only lead the project development, but they also hold the trademarks etc. They both also make money on providing some services for their DB, be it consulting, paid extensions, or DBaaS (database-as-a-service) hosting. Historically, publishing open-source software and making money on the services worked great and for many companies, it was a viable business strategy (yes, open source is a business strategy).

In the world of AWS (and other cloud providers) it creates an asymmetrical relationship: AWS can provide and charge for their DBaaS based on an open-source database while paying nothing back to Mongo or Elastic (Amazon has the manpower to support it themselves even on large scale). Which is completely OK under the open-source licenses.

Both of those companies realised that their business strategy was wrong and open-sourcing their DB was a mistake (from the business point of view). So they changed the license to a non-free (as in speech) and non-open one. This created some controversy as relicensing open-source is generally not possible, they took advantage of a clause in CLA that every contributor had to sign.

(Side note, this lowered already low trust in CLAs. A problem for some mostly big companies, that feel they need some extra intellectual property protection and still want to have an open-source program.)

If I were starting a business in providing a database engine now, I’d really think about open-sourcing it based on the experience of Mongo and Elastic. And we see exactly that already, with DBs like Fauna or Firebase not being open-sourced at all.

So I think that open-source databases are dying because we might see less and less of them published in the future.

Related articles

Top comments (2)

lifelongthinker profile image

Yes and No. Two ideas:

(1) Cloud giants such as Amazon, Google and MS are responsible for such deaths because they make a giant profit on OS projects without contributing back adequately.

(2) The OSI has its specific definition of "Open Source". In that sense, those DBs might be dying as OS DBs. But then there is also at least one more reading and understanding of "Open Source" that a substantial amount of speakers is familiar with. And that apparently cares more about the openness (availability) of source code than the openness (allowability) of its license. The OSI ignores that language doesn't care about their specific definitions of OS and instead has its own interpretation -- according to which OS DBs are NOT dying.

There is not right or wrong here in (2), only a wrong in(1).

robinpokorny profile image
Robin Pokorny

Hey Sebastian, thanks for your thoughts.

Re 1: Yes, that true. I know what you mean, yet, that do it because they may. The licence was made like this. And I believe that anybody should be able to make money on OSS. Interestingly (but understandably) this is (currently?) a problem only for DBs; for example, cloud providers depend on Linux, Node.js, and other OSS without contributing back.

Re 2: IMHO, in an engineering context, ‘open source’ has always meant more than just ‘source available’. We can discuss the difference between Free Software on Open Source Software, sure, but in general talk, these two are used interchangeably and they imply unlimited use by anybody including commercial use.