MongoDB

From LinuxReviews
Jump to navigationJump to search

MongoDB is a document-oriented database program utilizing JSON-like documents with a schema. It is licensed under a special sort-of free software Server Side Public License (SSPL). Many free software web applications requires it.

License and Availability

Server Side Public License (SSPL) is a special free software which requires that anyone running services using software under this license make every single piece of their services available under this license. The only way to avoid that license is to buy a MongoDB Enterprise subscription.

The SSPL license choice means that major Linux distributions do not have MongoDB available in their repositories.

Installation

MongoDB can be installed from source - which is available at github.com/mongodb/mongo/releases.

Building it requires a lot of Python dependencies which can, if you get the r4.3.3 version, be installed with:

pip3 install -r etc/pip/compile-requirements.txt

The documentation docs/building.md indicates that it can be built with python3 buildscripts/scons.py mongod which doesn't work. You have to add a MONGO_VERSION= option to it, You will also have to pass --disable-warnings-as-errors it defaults to making gcc see warnings as errors - and there are a lot of build-time warning.

python3 buildscripts/scons.py mongod MONGO_VERSION=4.3.3 --disable-warnings-as-errors

will eventually get you a working mongod binary. It is a fairly big compile which takes hours on modern multi-core systems.

Some Thoughts on MongoDB

MongoDB is written and maintained by the American for-profit MongoDB Inc which is headquartered in California. They offer a wide range of commercial services.

The Server Side Public License used by the "community" version is not at all appealing - even to someone who is generally a free software enthusiast. And it severely limits what kind of services and what software you can use with MongoDB. The commercial MongoDB offerings do not have that problem. That, combined with the unnecessarily painful build process, makes it fair to ask if they are intentionally trying to make the "community" version as unattractive as it can be in order to sell commercial licenses.

It hard to recommend that anyone use MongoDB for anything, ever. This is free software which, even though it is technically free software, should be avoided.

There are commercial offerings for those who do not care if the database they use is free software or not. The commercial MongoDB Atlas service offers fully managed MongoDB databases as a service on Amazon Web Services, Microsoft Azure and the Google Cloud Platform. That really is the only choice if you want to build something or use an off the shelf application which requires MongoDB.

Links

MongoDB has a website at mongodb.com and the source code for the community edition is on GitHub at mongodb/mongo.

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.