# Participate in Contributing

First of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!

We encourage any form of participation in the community that will eventually become Committer or PPMC Such as:
* Problems will be encountered via github on the [issue](https://github.com/apache/dolphinscheduler/issues) form feedback out.
* Answer the issue questions that others are asking.
* Help improve the documentation.
* Help your project add test cases.
* Add comments to the code.
* Submit a PR that fixes the bug or Feature.
* Publish application case practice, scheduling process analysis, or technical articles related to scheduling.
* Help promote DolphinScheduler, participate in technical conferences or meetup, sharing and more.

Welcome to the contributing team and join open source starting with submitting your first PR.
 - For example, add code comments or find "easy to fix" tags or some very simple issue (misspellings, etc.) and so on, first familiarize yourself with the submission process through the first simple PR.
 
Note: Contributions are not limited to PR Only, but contribute to the development of the project.

I'm sure you'll benefit from open source by participating in DolphinScheduler!

### 1. Participate in documentation contributions.

Refer to the [Submit Guide-Document Notice](./document.md)

### 2. Participate in code contributions.

Refer to the [Submit Guide-Issue Notice](./issue.md), [Submit Guide-Pull Request Notice](./pull-request.md), [Submit Guide-Commit Message Notice](./commit-message.md)

### 3. How to pick up an Issue and submit a Pull Request.

If you want to implement a Feature or fix a Bug. Please refer to the following:

* All Bugs and the new Features are recommended and managed using the Issues Page.
* If you want to develop a Feature, first reply to the Issue associated with that feature, indicating that you are currently working on it. And set yourself a "deadline" when to Submit the Feature, and add it in the reply comment.
* It's a good idea to find a mentor (or an instructor) in the core contributors who gives immediate feedback on design and functional implementation.
* You should create a new branch to start your work, to get the name of the branch refer to the [Submit Guide-Pull Request Notice](./pull-request.md). For example, if you want to complete the feature and submit Issue 111, your branch name should be feature-111. The feature name can be determined after discussion with the instructor.
* When you're done, send a Pull Request to dolphinscheduler, please refer to the《[Submit Guide-Submit Pull Request Process](./submit-code.md)》

If you want to submit a Pull Request to complete a Feature or fix a Bug, it is recommended that you start with the `good first issue`, `easy-to-fix` issues, complete a small function to submit, do not change too many files at a time, changing too many files will also put a lot of pressure on Reviewers, it is recommended to submit them through multiple Pull Requests, not all at once.