Choose a Project

MongoDB, Inc. officially supports the following projects: the core MongoDB database (commonly referred to as the server or the kernel), ten drivers, and a MongoDB-Hadoop connector. These projects are open-source and open to your contributions.

MongoDB projects are available on GitHub. The get the latest source from Github, follow the links to the projects.

Links to Project on GitHub Project Documentation
MongoDB Server MongoDB Server Manual
MongoDB Tools MongoDB Tools Documentation
C Driver C Driver Documentation
C++ Driver C++ Driver Documentation
C# Driver C# Driver Documentation
Java Driver Java Driver Documentation
Node Driver Node Driver Documentation
Perl Driver Perl Driver Documentation
PHP Driver PHP Driver Documentation
Python Driver Python Driver Documentation
Ruby Driver Ruby Driver Documentation
Casbah (Scala Driver) Casbah (Scala Driver) Documentation
Hadoop Connector Hadoop Connector Documentation

Start with a Driver

Unless you are already very familiar with C++ and the MongoDB database, or already know that you specifically want to work on the Core Server, we highly recommend that you start by contributing to one of the Drivers. Why?

  • Smaller codebase(s) than the core server.

    Each driver has a relatively small codebase. This means it is easier to get familiar with all the parts and how they work together. Drivers are individually less complex than the core server, and they are similar in function to each other.

  • Fewer requirements to get a pull request approved.

    There are fewer moving parts in a driver than the core server, due to the smaller codebase. This makes it easier for us to tell if your change is going to break something else, whether that something else is an existing part of the driver or a planned new feature.

  • More likely to be in a language with which you are comfortable.

    With drivers for different languages, you’re likely to be comfortable in at least one of those languages.

  • Apache License.

    Among other things, you do not have to sign the contributor agreement when contributing to the drivers, which can hold up the pull request process.