-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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.
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.
Getting started
Building
Testing
- Running Tests
- Writing Tests
- Writing Function-level Benchmarks
- Writing JavaScript Integration-level Performance Tests
- Running Bisect
- Running Minimized Jstestfuzz Tests
- Testing with Antithesis
Testing in Evergreen
Code Style
Server Internals