Contribute to YugabyteDB
We are big believers in open source. YugabyteDB is distributed under the Apache v2.0 license, which is very permissive open source license. We value external contributions and fully welcome them! We accept contributions as GitHub pull requests. This page contains everything you need to get you going quickly.
Learn about the architecture
There are a number of resources to get started, here is a recommended reading list:
- Go through the architecture section of the docs. It will give an overview of the high level components in the database.
Sign the CLA
When your first contribution is submitted as a pull request, you will be given a link to sign the Yugabyte Individual Contributor License Agreement (CLA).
Pick an area
There are a few areas you can get involved in depending on your interests.
This is the C++ code and the unit tests that comprise the core of YugabyteDB. You can follow the steps outlined here to get going with steps such as building the codebase and running the unit tests.
YugabyteDB documentation uses the Hugo framework. There are two types of docs issues - infrastructure enhancements and adding content. You can follow the steps outlined here to run a local version of the docs site. Next, look at the contributing guide to make your changes and contribute them.
Find an issue
Issues are tagged with other useful labels as described below.
||Bugs can have a small or large scope, so make sure to understand the bug.|
||An issue related to the docs infrastructure, or content that needs to be added to the docs.|
||An enhancement is often done to an existing feature, and is usually limited in scope.|
||A great first issue to work on as your initial contribution to YugabyteDB.|
||Issues that are very useful and relatively standalone, but not actively being worked on.|
||An new feature does not exist. New features can be complex additions to the existing system, or standalone pieces.|
||A question that needs to be answered.|