跳到主要内容

社区参与指南

Apache Doris 欢迎全球开发者、用户、技术作者、讲师和社区组织者参与共建。你可以通过代码开发、内容创作或社区布道参与 Apache Doris。每一种参与方式都能帮助项目成长,也能帮助贡献者积累技术影响力、社区声誉和开源协作经验。

代码开发

适合:希望直接参与 Doris 技术建设的贡献者。

  • 修复 Bug,开发新功能。
  • 优化性能、稳定性或可观测性。
  • 补充单元测试、回归测试和集成测试。
  • 改进构建、CI、发布、开发工具和工程效率。
  • Review PR,补充技术文档、用户文档或示例。

贡献一经合入,你会自动成为 Apache Doris 的 Contributor。

阅读指南 ->

内容创作

适合:熟悉 Doris 使用场景,愿意分享实践经验的贡献者。

  • 撰写技术博客和生产环境案例。
  • 编写入门教程和最佳实践。
  • 录制功能演示、安装部署、调优排障等视频。
  • 参与 meetup、webinar、conference 演讲。
  • 翻译文档、博客、活动材料或视频字幕。

优秀创作内容将会获得社区周边纪念品。

阅读指南 ->

社区布道

适合:熟悉用户场景,擅长沟通协作的贡献者。

  • 在 Slack、GitHub、mailing list 中回答问题。
  • 帮助新用户找到正确的文档、示例和社区入口。
  • 组织线上或线下 meetup、workshop、office hour 或用户分享。
  • 邀请用户分享生产实践和迁移经验。
  • 收集用户反馈,并引导到公开渠道沉淀。

活跃参与者将会获得社区周边纪念品。

阅读指南 ->

权利与收益

根据贡献类型、贡献质量和持续性,贡献者可能获得以下权益:

  • 在 Apache Doris 社区渠道获得公开认可。
  • 被纳入贡献者列表、社区鸣谢或活动 recap。
  • 在 Apache Doris 官方网站、博客、社交媒体或视频渠道发布内容。
  • 获得社区活动演讲机会。
  • 与 Maintainer、Committer、PMC member 和其他资深用户进行更深入的技术交流。
  • 优先参与部分社区活动、meetup、webinar 或 conference 议题。
  • 通过开源贡献积累公开技术声誉和个人影响力。
  • 获得社区周边、纪念品或特别礼品。

对于长期、稳定、高质量参与技术贡献的成员,社区会根据 Apache 治理流程,邀请其成为 Apache Doris Committer 或 PMC member。Doris Summit 每年也会评选 Outstanding Community Hero,感谢为社区做出突出贡献的用户、开发者和布道师。

社区参与指南

根据不同的参与路径,社区提供了对应的参与指南。

提示

指南内容可能会随社区流程调整而变化。欢迎加入 Apache Doris Slack 社群 获取实时动态。

在哪里领取任务

贡献者可以从以下渠道寻找任务:

  • Slack:直接询问或发起讨论、确认上下文和找到合适的沟通对象。
  • Apache Doris GitHub Issues:适合查找 Bug、Feature Request、优化建议和待处理问题。
  • Apache Doris GitHub Discussions:适合参与技术讨论、使用讨论和方案讨论。
  • Roadmap:适合寻找中长期技术方向,通常可以在 GitHub Issue 页面的置顶 Issue 中查看。
  • 现有 PR:适合参与 Review、补充测试、验证问题或帮助推进合入。

新贡献者可以优先从小范围任务开始,例如修正文档、补充测试、修复简单 Bug、复现 Issue、完善错误信息或优化示例。对于较大的功能或行为变更,建议先在 Apache Doris Slack 的 #dev 频道中发起讨论,寻求 Core Maintainers 的帮助。

提交代码的规范

提交代码前,贡献者应尽量做到:

  • Fork apache/doris 仓库,并基于最新主分支创建独立开发分支。
  • 每个 PR 聚焦一个明确问题,避免把多个无关修改放在同一个 PR 中。
  • PR 标题和描述清楚说明修改目的、影响范围和验证方式。
  • 关联对应的 Issue、Discussion 或 mailing list 讨论。
  • 补充必要的单元测试、回归测试或手工验证步骤。
  • 如果变更影响用户行为、配置、SQL 语义、错误信息或兼容性,需要同步更新文档。
  • 如果存在兼容性风险、性能风险或行为变化,需要在 PR 描述中明确说明。

一个高质量 PR 通常应该包含:

  • 背景:为什么需要这个修改。
  • 方案:具体改了什么,为什么这样改。
  • 测试:执行了哪些测试,结果是什么。
  • 风险:是否影响兼容性、性能、稳定性或用户行为。
  • 文档:是否需要更新文档,已经在哪里更新。

社区鼓励使用 AI 辅助编码、调试和 Review,但请遵循以下准则:

  • 使用能力较强的模型进行开发、调试和 Review,避免使用低质量模型生成关键代码。
  • 开发者要对代码负最终责任。社区不接受完全由 AI 提交且无人负责的代码。

代码合入的标准流程

代码合入通常会经过以下步骤:

  1. 贡献者提交 Pull Request。
  2. 具有 Committer 身份或更高权限的社区成员触发 CI 和 AI Review。你可以在 Slack #dev 频道寻求帮助。
  3. 贡献者根据 CI 和 Review 结果修复编译、测试或格式问题。AI 反馈也需要作为 Review 流程的一部分处理。对于合理建议,应修改代码;对于不适用的建议,应在 PR 中说明原因。
  4. 必要时,贡献者需要 rebase 最新主分支并解决冲突。
  5. Required CI checks 全部通过。
  6. Reviewer 给出 approval。
  7. Committer 完成最终合入。

CI 中 required checks 必须通过后,PR 才能进入合入阶段。非 required checks 不阻塞合入。

如何推进 Review

贡献者应主动推动自己的 PR,而不是只等待 Reviewer 处理。Apache Doris 官方贡献者指南也鼓励贡献者担任自己 PR 的 Moderator,负责推动 PR 从提交到合入。

推荐做法包括:

  • 在 PR 描述中提供足够上下文,降低 Reviewer 理解成本。
  • 在 Slack #dev 频道发布 PR 链接寻求 Reviewer。
  • 及时回复 Review 评论。
  • 对已经修改的问题标记为 resolved。
  • 对有争议的问题给出技术理由,而不是只表达结论。
  • 定期同步最新主分支,避免长期冲突。
  • 如果 PR 长时间没有进展,可以礼貌地在 PR 中 ping 相关 Reviewer。
  • 如果不确定谁适合 Review,可以在 Slack 中请求帮助定位模块负责人。

寻找合适 Reviewer 的方式包括:

  • 查看同一模块最近合入的 PR。
  • 查看相关文件的历史提交记录。
  • 查看 GitHub 推荐 Reviewer 或 CODEOWNERS(如适用)。
  • 在 Slack 中请求帮助定位合适的 Reviewer,但重要技术结论应回到 GitHub 或 mailing list 中沉淀。

社区行为准则

所有贡献者都应遵守以下原则:

  • 尊重他人,保持专业、友善、建设性的沟通方式。
  • 重要技术讨论和社区决策应尽量在公开渠道进行。
  • 对代码 Review、文档 Review 和内容 Review 保持开放态度。
  • 如果不同意 Review 意见,应给出清晰的技术理由。
  • 避免在私下完成本应公开讨论的社区决策。
  • 提交原创内容,或为引用内容明确标注来源。
  • 避免夸大、无法验证或带有误导性的性能和商业表述。
  • 代码变更应尽量补充测试。
  • 用户可见行为变化应同步更新文档。
  • 不公开用户隐私、客户敏感信息和公司机密。
  • 安全问题应遵循负责任披露流程,不应在公开渠道提前披露细节。
  • 尊重 Apache 社区价值观和 ASF Code of Conduct。

贡献者以开源社区成员身份参与协作。如果贡献者代表公司参与某些活动,建议在必要时说明公司背景,但具体贡献仍应遵循 Apache 社区公开、透明、基于贡献的协作方式。