OpenMLDB is a community-driven opensource project. We welcome all kinds of contributions, such as bugfix, new feature development, test cases, documentations and so on.
We encourage you to discuss with us first before coding. Your discussion channel may depend on what you want to contribute:
- If it is a simple bugfix, or an independent function/module that will not affect other modules: You may just raise an issue on our GitHub Issues and describe your solutions. We will provide necessary feedback to you as soon as possible.
- If the change may affect a few modules, or an architectural change/improvement: Please contact us in the community and let us have more understanding about your ideas. Meanwhile, we also encourage you to write a formal RFC and post it to the GitHub Discussions.
Here is the general contribution workflow:
-
Fork the OpenMLDB repository into your personal space
-
Create a branch from where you want to base your code (usually it is the main branch)
-
Make commits of your code and test cases, make sure:
- your coding style follows our code convention
- the commit messages follow our commit convention
-
Push your commits to your forked repository
-
Submit a pull request to merge from your branch to the OpenMLDB's main branch
-
Address any comments from our community about your PR
-
The PR will be merged by our maintainers after all comments are addressed.
You may find us from the following channels for any help about contribution
- GitHub Issues and GitHub Discussions
- Slack
- WeChat Group (Chinese)
If you just would like to begin your journey to contribute to OpenMLDB community, the issues with the label of good first issue
is certainly a good start for you. Please visit here for this issue list.
Please also stay tuned to our Contributor Challenges (with prize 🎁 ) :
We appreciate the effort from all of our contributors. You can find the full list here.