Hacker News new | ask | show | jobs
by eatonphil 797 days ago
Why, unlike Redis and Elasticsearch and Terraform, was there no big community fork of MongoDB when it was relicensed?

Cockroach, Materialize, and MariaDB were all also relicensed without massive backlash, I think. But I think that's because they had fewer users at the time.

But Mongo's was the one relicense event that didn't produce so much shock that a new fork came out of it. And Mongo's stock is doing great, if that's a good proxy for their overall success.

I wonder what the difference is.

7 comments

Definitely an interesting question. Some things that may explain why --

Mongo was always AGPL and relicensed to SSPL. This had the following consequences:

* Very few companies and zero large cloud companies ever attempted to run the MongoDB codebase in production as a managed service, other than MongoDB the company.

* Mostly because of the above, MongoDB did not receive many code contributions that did not originate from within the company. There were some, but not nearly to the extent of the others you listed

* The difference between AGPL and SSPL is not nearly as large as the difference between BSD and SSPL or Apache and SSPL.

The license matters less than copyright ownership. Prior to the license change, MongoDB insisted on copyright transfers. Every line of code was owned by them. That's why they were able to re-license it. Elastic, which used to use the Apache 2.0 license, did the same thing: they insisted on copyright transfers as well.

Other people that didn't own the copyright to any mongodb source code of course had the right to take the source code and fork it under the AGPL. But there would have been no choice about the license under which to distribute that fork because of how strict AGPL is. By insisting on copyright transfers, Mongodb was able to dodge that and re-license the entire code base without having to require permission from anyone because they owned all of it.

For the same reason, there never was much of a community of contributors outside of Mongo. Most large companies would have steered clear of that legal mess and declined to contribute or fork. The flip side of course is that this strong ownership marginalized mongodb as a community even before the license change. It simply didn't matter much to most large companies as they would have steered clear of it anyway.

With Redis, this is not the case. Redis the company was an active contributor to the code base but most of the contributions actually came from the outside and they never owned the copyright to those contributions. The BSD license allows anyone (including Redis Inc.) to redistribute the code under whatever license. Which is why Redis can do this. But for the same reason everybody else can continue as is using Valkey without having to worry much about Redis the company having retired from what otherwise is a thriving OSS community.

Were there any MongoDB cloud offerings of the AGPL version?

If SSPL is effective as a poisonous pill against AWS and Co. but SSPL is not, that's a big difference in my book.

Yes, MongoHQ, later renamed compose.io: https://en.wikipedia.org/wiki/Compose.io
mLab/MongoLab, which MongoDB acquired when they started to seriously pursue their own cloud offering.
none that immediately spring to mind. aws reimplemented just the API.
Most people I know (including me) that used MongoDB in their companies for sometime, already carried a lot of regrets after 6 months. I think the community were not so excited about forking or doing anything with it, when there are better battle-tested solutions

I believe it takes an organization a huge inertia to be stuck with it, possibly if you managed to grow your company really quickly. But most projects I've seen that used mongoDB ended up being rewritten/thrown away

I find it astonishing when I see how much mongoDB has managed to grow its revenues, now its like $2B trailing when literally nobody needs it

RDBMS's can be scaled to "planetary" scale and once you throw in a few other noSQL DBs to fill in other gaps (like Redis), you literally will never need to pay a license

MongoDB's success is probably a similar case to Oracle, there are many OSS alternatives but some old businesses have the foundation of its business on that db and moving out would have a huge cost, so they accept shredding millions to software that OSS have even better alternatives

Anecdotal but the perception in my corner around the time of the license switch was that Postgres was good enough now with bjson columns, and we could just use that for new projects. Projects that needed to scale beyond what is easy with Postgres are fairly rare and usually mean you’re doing well enough to throw money at citus or whoever to prevent everything from melting.
My impression, as somebody who's had to choose this layer of infrastructure a few times.

Many people who "start" with those database choices either (1) "end up" elsewhere or (2) are perfectly content with treating their database as a SaaS business expense.

Their communities have self-selected into a [profitable] niche that excludes the kinds of people (like the author of this blog post) who are both capable and motivated to maintain a fork.

The author of TFA would probably categorize MongoDB as "software I hate" (a category he touches on in the article), to put it in perspective.

The MariaDB database server was never relicensed. As a fork of MySQL, it is GPL, and as far as I understand must always remain GPL.

You may be thinking of their separate MaxScale proxy product, which uses the Business Source License, which MariaDB created.

Got it, yeah I always get this confused. Thank you.
Probably because the people that care about such things will just move to Postgres, if they already haven't.
mongodb is not very good, is the difference