# 参与贡献

首先非常感谢大家选择和使用 DolphinScheduler，非常欢迎大家加入 DolphinScheduler 大家庭，融入开源世界！

我们鼓励任何形式的参与社区，最终成为 Committer 或 PPMC，如：
* 将遇到的问题通过 github 上 [issue](https://github.com/apache/dolphinscheduler/issues) 的形式反馈出来
* 回答别人遇到的 issue 问题
* 帮助完善文档
* 帮助项目增加测试用例
* 为代码添加注释
* 提交修复 Bug 或者 Feature 的 PR
* 发表应用案例实践、调度流程分析或者与调度相关的技术文章
* 帮助推广 DolphinScheduler，参与技术大会或者 meetup 的分享等

欢迎加入贡献的队伍，加入开源从提交第一个 PR 开始
- 比如添加代码注释或找到带有 ”easy to fix” 标记或一些非常简单的 issue(拼写错误等) 等等，先通过第一个简单的 PR 熟悉提交流程

注：贡献不仅仅限于 PR 哈，对促进项目发展的都是贡献

相信参与 DolphinScheduler，一定会让您从开源中受益！

### 1. 参与文档贡献

参考[参与贡献-文档需知](./document.md)

### 2. 参与代码贡献

参考[参与贡献 Issue 需知](./issue.md)，[参与贡献 Pull Request 需知](./pull-request.md)，[参与贡献 CommitMessage 需知](./commit-message.md)

### 3. 如何领取 Issue，提交 Pull Request

如果你想实现某个 Feature 或者修复某个 Bug。请参考以下内容：

* 所有的 Bug 与新 Feature 建议使用 Issues Page 进行管理。
* 如果想要开发实现某个 Feature 功能，请先回复该功能所关联的 Issue，表明你当前正在这个 Issue 上工作。 并在回复的时候为自己设置一个 **deadline**，并添加的回复内容中。
* 最好在核心贡献者找到一个导师（指导者），导师会在设计与功能实现上给予即时的反馈。
* 你应该新建一个分支来开始你的工作，分支的名字参考[参与贡献 Pull Request 需知](./pull-request.md)。比如，你想完成 feature 功能并提交了 Issue 111，那么你的 branch 名字应为 feature-111。 功能名称可与导师讨论后确定。
* 完成后，发送一个 Pull Request 到 dolphinscheduler，提交过程具体请参考下面《[提交代码流程](./submit-code.md)》。

如果是想提交 Pull Request 完成某一个 Feature 或者修复某个 Bug，这里都建议大家从小处做起，完成一个小功能就提交一次，每次别改动太多文件，改动文件太多也会给 Reviewer 造成很大的心理压力，建议通过多次 Pull Request 的方式完成。

