Apache RocketMQ is developed by an open and friendly community. Everybody is cordially welcome to join the community and contribute to Apache RocketMQ. There are several ways to interact with the community and to contribute to RocketMQ including asking questions, filing bug reports, proposing new features, joining discussions on the mailing lists, contributing code or documentation, improving the website, or testing release candidates.
{% include toc %}
The Apache RocketMQ community is eager to help and to answer your questions. We have a user mailing list and apache-rocketmq tag on Stack Overflow.
Please let us know if you experienced a problem with RocketMQ and file a bug report. Open Github Issue and click on the New issue.
Our community is constantly looking for feedback to improve Apache RocketMQ. If you have an idea how to improve RocketMQ or have a new feature in mind that would be beneficial for RocketMQ users, please open an issue in RocketMQ’s ISSUE. The improvement or new feature should be described in appropriate detail and include the scope and its requirements if possible. Detailed information is important for a few reasons:
Detailed information is also required, if you plan to contribute the improvement or feature you proposed yourself. Please read the Contribute code guide in this case as well.
We recommend to first reach consensus with the community on whether a new feature is required and how to implement a new feature, before starting with the implementation. Some features might be out of scope of the project, and it’s best to discover this early.
Most communication in the Apache RocketMQ community happens on two mailing lists:
You are very welcome to subscribe to both mailing lists.
Apache RocketMQ is continuously improved by its active community. Every few weeks, we release a new version of Apache RocketMQ with bug fixes, improvements, and new features. The process of releasing a new version consists of the following steps:
Apache RocketMQ is maintained, improved, and extended by code contributions of volunteers. The Apache RocketMQ community encourages anybody to contribute source code. In order to ensure a pleasant contribution experience for contributors and reviewers and to preserve the high quality of the code base, we follow a contribution process that is explained in our Contribute code guide. The guide does also include instructions to setup a development environment, our coding guidelines and code style, and explains how to submit a code contribution.
Please read the Contribute code guide before you start to work on a code contribution.
Please do also read the Submit a Contributor License Agreement Section.
Looking for an issue to work on?
We maintain a list of all known bugs, proposed improvements and suggested features in Github issue.
Good documentation is crucial for any kind of software. The Apache RocketMQ community aims to provide concise, precise, and complete documentation and welcomes any contribution to improve Apache RocketMQ’s documentation.
The Apache RocketMQ website presents Apache RocketMQ and its community. It serves several purposes including:
We welcome any contribution to improve our website.
Please open a Github issue if you think our website could be improved. Please follow the Improve the website guidelines if you would like to update and improve the website.
There are many more ways to contribute to the RocketMQ community. For example you can
Committers are community members that have write access to the project’s repositories, i.e., they can modify the code, documentation, and website by themselves and also accept other contributions.
There is no strict protocol for becoming a committer. Candidates for new committers are typically people that are active contributors and community members.
Being an active community member means participating on mailing list discussions, helping to answer questions, verifying release candidates, being respectful towards others, and following the meritocratic principles of community management. Since the “Apache Way” has a strong focus on the project community, this part is very important.
Of course, contributing code and documentation to the project is important as well. A good way to start is contributing improvements, new features, or bug fixes. You need to show that you take responsibility for the code that you contribute, add tests and documentation, and help maintaining it.
Candidates for new committers are suggested by current committers or PMC members, and voted upon by the PMC.
If you would like to become a committer, you should engage with the community and start contributing to Apache RocketMQ in any of the above ways. You might also want to talk to other committers and ask for their advice and guidance.
This document is a modified version of the one created by the Flink Project[1].