How to Contribute
Apache RocketMQ —— Open and sharing open source community, sincerely invite you to join.
Ways of community communication and contribution:
- Ask questions
- Submitting an error report
- Introduce new feature
- Participate in discussions on mailing lists
- Contribute code or documentation
- Optimize the site
- Test pre-release versions
Request to answer questions
Apache RocketMQ community provides a complete process to help you answer your questions.
You can ask questions through User mailing list and Stack Overflow #rocketmq .
Submitting an error report
If you have problems using RocketMQ,You can file an error report on GitHub Issue.
Propose improvements or new features
The community is constantly looking for feedback to improve Apache RocketMQ,Your need for improvements or new features will benefit all RocketMQ users, Please create an issue on GitHub Issue。
Proposals need to include appropriate details and scope of impact. Please elaborate as much as possible on the requirements.We hope to get more complete information for the following reasons:
- The improvements and new features implemented ultimately fit your needs
- Evaluate input costs and design solutions based on your needs
- To facilitate constructive community discussion around the proposal
If you plan to implement your proposal to contribute to the community, you will also need to provide detailed description information,And follow code-guidelines Code specification
We recommend building community consensus before implementing features. By discussing the need for new features and how to implement them, proposals that are outside the scope of the project can be spotted early.
Participate in discussions and help others
Members of the Apache RocketMQ community communicate through the following two types of email:
User mailing list ：Apache RocketMQ users use the mailing list to ask for help or advice.
You can contribute to the community by subscribing to the email system to help others solve problems;
You can also retrieve on Stackoverflow rocketmq tag answer user questions and get more insights.
Development mailing list : Apache RocketMQ developers use this mailing list to communicate new features, pre-releases, general development processes, etc.
If you are interested in contributing code to the RocketMQ community, you can join the mailing list.
You can also by subscribing to mailing lists get more info about the community.
Test pre-release versions
Apache RocketMQ continues to grow with the help of its active community. Every few weeks we release a new version of RocketMQ to fix bugs, improve performance, add features, etc. The process for releasing a new version is as follows:
- Launch a new pre-release version and start the voting process (72 hours)
- Test pre-release versions and score (+1 no problem found, -1 test problem)
- If the pre-release version is not tested, release it; otherwise, go back to Step 1
We have compiled the release-manual release guide on the website. Testing a pre-release is a big job, and we need to get more people involved. The RocketMQ community encourages everyone to participate in testing the new version. By testing the pre-release version, you will be confident that the new RocketMQ version will still service your program properly and is indeed supporting version upgrades.
Apache RocketMQ has been and will continue to be maintained, optimized, and extended. So Apache RocketMQ encourages everyone to contribute source code.To give code contributors and reviewers a great code contribution experience and provide a high quality code repository, the community follows the contribution process in code-guidelines.The coding manual contains guidelines for building a development environment, community coding guidelines and coding styles, and describes how to submit contributed code.
**Be sure to read it carefully before coding code-guidelines
And please read Apache Software Foundation contributor license to submit electronic signature.
How to find the right issue?
GitHub Issue lists the improvements and recommended features that have been proposed so far.
Contribution to the document
Good documentation is essential to any kind of software. The Apache RocketMQ community is committed to providing concise, accurate, and complete technical documentation. The community invites all contributions to help refine and improve the RocketMQ documentation.
- Please report missing, incorrect, expired documents on GitHub Issue
- The RocketMQ technical documentation is written in Markdown form and stored in RocketMQ Official Website Repository
Read Q&Ato learn how to contribute by updating and refining documents.
Optimize the website
The Apache RocketMQ website represents Apache RocketMQ and the Apache RocketMQ community. Its main functions are as follows:
- Become familiar with the visitor Apache RocketMQ and the features of Apache RocketMQ
- Support visitors to download and use RocketMQ
- Guide visitors to participate and contribute to the RocketMQ community
The community accepts any contribution that will help improve the site.
Please provide your suggestions and ideas about the site by creating Github Issue
If you would like to update or optimize the website, please visit apache/rocketmq-site new-official-website
More ways to contribute...
There are many more ways to contribute to the RocketMQ community that you can choose from:
- Introduce RocketMQ to as many partners as possible
- Organize offline communication meetings or online user groups
- Become the evangelist of RocketMQ
How do I become a committer
Committers are members of a community's project repository who can modify code, documents, and websites or accept contributions from other members.
There is no strict protocol for becoming a commiter, and candidates are usually active contributors in the community.
Being an active contributor means: participating in discussions on email lists, helping others solve problems, verifying pre-release versions, honoring the good people and continuously optimizing community management, which is part of the community in Apache.
Undoubtedly, contributing code and documentation to the project is equally important. A good place to start is by optimizing performance, developing new features, and fixing bugs. Either way, you are responsible for contributing code, providing test cases and documentation, and maintaining it continuously.
Candidates can be recommended by committer or PMC members in the community, and ultimately voted on by the PMC.
If you are interested in becoming a committer in the RocketMQ community, please actively engage with the community and contribute to Apache RocketMQ in any of the above ways
committer members in the community will be eager to share with you and give you advice and guidance as appropriate.