Dubbo is released under the permissive Apache 2.0 license, follows the standard GitHub development process, uses GitHub to track issues, and merges pull requests into master. If you want to contribute to Dubbo (even something small), please don’t hesitate to follow the guidelines below.
Find the GitHub address of the corresponding language implementation or ecosystem project and participate in Dubbo's source code contribution
Mailing lists are the recommended way to discuss almost everything related to Dubbo. For detailed documentation on how to subscribe, please refer to the guide.
Please follow the template when reporting any issues.
Our coding style is mostly aligned with standard Java conventions (the default settings of popular IDEs meet this), with the following additional restrictions:
Start a new line if the current line has more than 120 characters.
Ensure that all new .java files have a simple JavaDoc class comment with at least one tag indicating the creation date and ideally at least one explanation about the class.
Add ASF license comments to all new .java files (copy from existing files in the project).
Please ensure that no @author tag is added to the files you contribute, as Apache does not use the @author tag; other methods (like cvs) will fairly document all your contributions.
Add some JavaDoc to the code, and if you change namespaces, XSD DOC elements are needed.
Unit tests should be added for new features or significant fixes.
If no one else is using your branch, synchronize it with master (or another target branch in the main project).
Follow these conventions when writing commit messages; if you are fixing an existing issue, add “Fixes XXX” at the end of the commit message, where XXX is the issue number.
Here is a rough outline of a contributor’s workflow:
git remote add upstream git@github.com:apache/dubbo.git
git fetch upstream
git rebase upstream/master
git checkout -b your_awesome_patch
... add some work
git push origin your_awesome_patch
Thank you for your contributions!
We provide the IntelliJ IDEA template file dubbo_codestyle_for_idea.xml, which you can import into the IDE.
If using Eclipse, you can manually configure it by referring to this file.
Note
Using dubbo_codestyle_for_idea.xml to set code formatting for your IDEA is a crucial step before contributing code; otherwise, you will not pass the code style check by Travis CI. Here are the steps to configure your code format:
Editor > Code Style
Import Scheme
from the dropdown list, then choose IntelliJ IDEA code style XML
to import the xml fileOnce set up, IDEA will help you automatically reformat the code.