I’ll never understand why we collectively wag our fingers at individuals or companies that try to keep the likes of Amazon from building a profitable service off of their hard work then contribute back little-to-nothing. Would redis, mongodb and dgraph have even considered alternate licensing if companies like Amazon had thrown them a minuscule amount of funding and patches? We can’t know because they didn’t. And then we sneer at them for having the audacity to try to stay open but stop these giants from using them and throwing them away.
This kind of aggressive behavior toward these people trying to stop their own destruction at the hands of the biggest and most profitable companies in the world makes me wonder what the hell is wrong with our industry. This could easily be any of us. It might be any of us in the future. What do we gain by consolidating control in 3-4 different giants? What are we achieving with such a black and white view of what constitutes open source or not?
You can point at Amazon all you like, but this isn’t Open Source or Free Software.
If you want to prevent others from using your “hard work”, then go with a proprietary license, but don’t pretend your proprietary license is FOSS because that’s hypocritical and many of us care about the guaranteed freedoms of FOSS, including making money off of other people’s hard work.
MongoDB is trying to eat their cake and have it too and I have no sympathy for that. New versions of MongoDB are no longer Open Source and that should be known, because it won in the marketplace by being FOSS and now is the time to consider alternatives.
This is what it is all about; you believe in software to be free in a RMS kind of way or it is just a marketing gimmick. If you want software to be free, you do not care what Amazon does with it. That is clearly not MongoDB. They used FOSS as marketing tool and timed it well (it was a horrible shitshow of a product but many drank the koolaid; no idea what it is now, I will never touch it again) and now have to please investors. That is fine but let us not put this on ‘the big corporates’ please.
People are tired of restrictions, regardless of whether they are the ones targeted. The behavior is not aggressive in any sense and these types of restrictions are worked around predictably. You are making the mistake of confusing the intent of the changes with the reality as though the opposers favor the giants. In reality, something free for everyone might be misused and that's ok because of the size of the benefits. Free software needs to stop trying to pick and choose winners, because what they want to happen rarely does.
So I agree with what you said but I also agree that it should be removed from RHEL and Debian.
It's totally within MongoDB's rights to change their license to combat unfair behavior from giant cloud providers. And its totally fair for distros to remove Mongo because of the license change.
The bigger concern should be that databases like MongoDB and Redis are part of an older breed. The newest databases, built to handle the most demanding load, like DynamoDB, Aurora, or CloudSpanner, are intimately tied to the cloud providers they're deployed on, for legitimately necessary reasons. As the world gets more complex and demanding, this old model of "I've got a server, lets put a database on it" just doesn't scale, even including these "web scale" NoSQL databases like MongoDB.
No one beside AWS (or Google or Microsoft) is even capable of building databases to meet these new challenges. For now.
Cost plays into this as well. DocumentDB is so cheap because it is built on the Aurora storage engine, which in turn is intimately tied to the infrastructure. MongoDB Atlas can't compete with that. They have to charge you more because they can still point to the servers that your database is running on. An Aurora database might be spread across a dozen different servers and services within AWS, taking up just bits and pieces of processing on each; the parts of Aurora that need lots of storage are on machines optimized for that, the parts that need compute are on machines optimized for that, they're all connected with terabits of networking, and those pennies of savings turn into hundreds of dollars at scale which they can pass on to their customers.
Google did the SAME THING years ago with Cloud Memorystore, which exposes a Redis API. Microsoft did the same thing with CosmosDB, which exposes a MongoDB API (among others). Why? Its because the fundamental tech that MongoDB built isn't good. MongoDB is so unbelievably uninteresting to Amazon. Why would they even want to contribute back to it? If they adopted MongoDB wholesale, they and their customers would be worse-off for it. The only people that would win is MongoDB.
But they are interested in the API, because that's what their customers are using.
The license is a red herring. The real reason Amazon did this is the tech. They now have the Aurora storage engine and DynamoDB, which they can put any API they want on top of and it'll be cheaper, more performant, more resilient to failure, and easier to scale than taking "Database of the month X", throwing it on an EC2 instance, and calling it Managed.
And the reason why we're seeing this centralization is because Amazon made the investment in Infrastructure while MongoDB just wanted to build a cool database. Didn't Alan Kay warn us that if you care about the software, you have to care about the hardware? Did we really believe that this only applies to consumer experiences? Amazon didn't. And that's why they're winning.
>But they are interested in the API, because that's what their customers are using.
The API is very much a part of the product. It's effectively the UI for the service.
Small companies like Mongo and Elastic can't compete on scale but they can compete on interface design.
If it's ok for the giant providers to just take their interface design and rip it wholesale then you are cutting off the market for new database engines.
Aurora and DynamoDB have been around for ages. If it's objectively superior, then why did they feel the need to make a MongoDB compatibility layer?
Because despite being 'superior', people were still using MongoDB.
A database engine is more than just the backend. The developer-facing side is just as important - if not more so.
> And then we sneer at them for having the audacity to try to stay open but stop these giants from using them and throwing them away.
I'm sneering at the bait and switch. For what it's worth, MongoDB may have taken away business from more competent competitors that were upfront about being commercial projects. Given the nature of the database space, this has certainly been the case.
I think it's the third time I've said it. I suppose I could rewrite it each time like school children copying Wikipedia to avoid a call out like this but it hardly seems like a productive use of my time.
This kind of aggressive behavior toward these people trying to stop their own destruction at the hands of the biggest and most profitable companies in the world makes me wonder what the hell is wrong with our industry. This could easily be any of us. It might be any of us in the future. What do we gain by consolidating control in 3-4 different giants? What are we achieving with such a black and white view of what constitutes open source or not?