1. MongoDB has the right to do whatever they like
------------------------------------------------------
The creator of a product:
1. Has a rational interest in maximizing their returns
2. Owns all the rights to their products (barring existing IP restrictions)
And if they choose to open source their code:
3. it is of their own prerogative
4. without any obligation to do so.
Given 1, and 2, if they open source their code, they're an awesome person because they're revealing some portion of their secret business logic to the public. With that, they are entitled to whatever conditions they put on their code. That includes CLA's regardless of how much potential contributors will protest.
It doesn't matter how "against the spirit of open source" a CLA, or an overly radical copy-left license is. The creator of the product will always have an obligation to their own interests first, and since they're already sacrificing trade secrets by revealing their software source (something they were never obligated to), they can honestly do whatever they'd like.
And this includes ensuring that everyone using their software open-sources all forks of their software. Heck, even open-sources everything they use in support of their software.
Let's face it, if their software just weren't that good, no one would use it.
2. This License Means More Open Source Code
----------------------------------------------------
If the outside world wants more open source code, I don't see why they'd giving MongoDB any flak for this. All this license will do is result in more open-source code. After all, isn't that the point all along?
Or are zealous demands for open-source code only valid while it's all about a single popular product by a big company (MongoDB), and not when smaller software components by smaller companies (billing, hosting scripts by SaaS providers)?
Edited for grammar and other things my brain missed