跳到主要内容
版本: 最新版本-3.5

为 StarRocks 做贡献

非常欢迎大家为 StarRocks 做出贡献。贡献 StarRocks 不仅限于贡献代码。下面,我们列出为社区做出贡献的不同方法。

报告错误您可以提交 issue 以报告 StarRocks 的错误。您也可以点击文档站点您正在阅读的页面右上角的“反馈”来报告错误。
贡献代码您可以通过修复错误或实现功能来贡献您的代码。
贡献测试用例您可以贡献您的测试用例。
帮助审查代码如果您是 StarRocks 的活跃贡献者或 Committer,您可以帮助我们审查拉取请求 (PR)。
贡献文档StarRocks 社区维护着大量的中文和英文文档。您可以通过修复文档错误或提出新的内容来贡献文档更改。
帮助 StarRocks 用户您可以帮助在我们的社区中遇到困难的新手。
传播 StarRocks 的信息您可以撰写一篇文章或就我们发表演讲,以帮助将我们的技术传播到世界各地。

注意

要贡献文档,请记住使用git commit -s 签署您的提交。 否则,开发者原创证书 (DCO) 检查将失败,并且 PR 可能会被阻止。 此外,在您的 PR 标题前加上[Doc]并选中 Doc 复选框。 Doc title

社区资源

获取有关 StarRocks 的各种帮助的最佳场所是通过 StarRocks 的 Slack 频道。 对于与贡献相关的讨论,请访问 #contributing-to-starrocks 频道。

您还可以在 GitHub 上报告问题和问题,或提出新功能。

行为准则

我们的社区严格遵守行为准则

社区角色

Community roles

我们鼓励每个人参与 StarRocks 项目。 任何人都可以通过简单地参与关于新功能、项目路线图、架构的讨论,甚至报告您面临的问题来产生影响。

下面列出的角色是参与社区的几种可能方式,它还定义了每个角色的期望。

用户组

参与者

参与者积极参与社区,并努力使 StarRocks 对每个人都更好。

作为参与者,您可以在 GitHub 上提交问题报告,贡献测试用例,翻译/修改文档,帮助回答论坛或社区中的用户问题,参与活动,分享您使用 StarRocks 的经验,在 GitHub 上 star StarRocks,等等。

期望和责任

  • 遵循社区的 行为准则

  • 参与讨论和社区活动。

  • 与社区分享反馈,以便其他人知道哪些有效/无效。

  • 提出改进建议。

拥护者

StarRocks 社区拥护者是一群充满激情的社区布道者和先驱者,他们精通 StarRocks 技术。 他们喜欢分享社区中的最新发展和产品,他们的热情推动了社区的进步和发展。

权益

产品

  • 提前访问新产品/功能。

  • 参与与项目核心团队的独家会议。

社区

  • 在网站上列为 StarRocks 拥护者。

  • 专属奖品和徽章。

活动

  • 免费参加 StarRocks 的活动。

  • 报销活动差旅费和住宿费。

  • 贵宾席位和贵宾活动。

要求

  1. 已发布至少 3 篇与 StarRocks 相关的原创优质技术内容(包括文章、教程、视频等)。
  2. 以演讲者身份参加至少 2 次线上/线下技术分享会。
  3. 帮助回答 Slack 和其他渠道上的用户问题。

其他要求

  1. StarRocks 拥护者必须遵守 StarRocks 社区行为准则。
  2. StarRocks 拥护者的资格为一年,必须根据过去一年的贡献每年重新申请。

开发者组

贡献者

每个做出贡献的人都可以成为 StarRocks 贡献者。 当新的贡献者需要帮助时,成员将提供指导。

如何成为贡献者?

  • 在任何 StarRocks 的公共存储库中合并 1 个 PR。

作为贡献者,我们希望您

  • 积极参与 StarRocks 的项目开发。

  • 参与社区活动(聚会、黑客马拉松等)。

  • 学习并帮助他人学习与 StarRocks 相关的技术。

特权

  • 被列为 StarRocks 贡献者。

  • 获得 StarRocks 贡献者电子证书。

活跃贡献者

活跃贡献者是对 StarRocks 做出杰出贡献并持续投入的贡献者。 他们通过贡献代码、改进文档和帮助他人来积极参与社区。

如何成为活跃贡献者?

  • 有 5 个合并的 PR 或修复了重大错误。

  • 参与 5 次以上的代码审查。

  • 积极参与社区活动,例如在线/线下聚会和社区讨论。

责任和特权

  • 加入社区会议和讨论。

  • 指导和指导新的贡献者。

  • 被列为 StarRocks 活跃贡献者。

  • 获得 StarRocks 活跃贡献者电子证书。

Committer

Committer 是从活跃贡献者中晋升的。

他们有权将 PR 合并到主分支中,并负责 StarRocks 的规划和维护。 他们也是积极的成员,与社区分享他们的知识。

如何成为 Committer?

  • 深入了解 StarRocks 的原则和未来计划。

  • 有能力及时处理项目中出现的各种问题。

  • 领导重大开发,编写和修订相关文档。

  • 收到至少两项 PMC 提名并通过投票。

责任和特权

  • 指导和指导社区中的其他成员。

  • 确保子项目的持续健康。

  • 被授予 StarRocks 存储库的写入权限(待指定)。

  • 被列为 StarRocks Committer。

  • 获得 StarRocks Committer 电子证书。

PMC

PMC 是从 Committer 中晋升的。 他们有权将 PR 合并到主分支中,并负责 StarRocks 的规划和维护。 他们也是积极的成员,与社区分享他们的知识。

如何成为 PMC?

  • 深入理解 StarRocks 原理,并清楚了解 StarRocks 的未来计划。

  • 有能力及时处理项目问题。

  • 领导项目开发和迭代,并指导项目的总体方向。

  • 收到至少两项 PMC 提名并通过投票。

责任和特权

  • 指导和指导社区中的其他成员。

  • 确保项目的持续健康,例如代码质量和测试覆盖率。

  • 制定并批准技术设计决策。

  • 定义里程碑和版本。

  • 投票并晋升新的 Committer 和 PMC。

  • 被列为 StarRocks PMC。

  • 获得 StarRocks PMC 电子证书。

贡献流程

如果您不知道如何开始,这是我们建议的贡献流程。 此流程旨在帮助减少您的学习曲线并更有效地合并您的拉取请求!

  1. 签署贡献者许可协议 (CLA)

  2. 通过创建 Github issue 或在 Slack 频道上提问来开始讨论(除非更改微不足道)。

    在开始编写代码之前,您应该在 issue 正文中发表评论,并通知维护人员将您希望解决的 issue 分配给您。 建议在 issue 正文中分享您解决此问题的计划。

    • 此步骤可帮助您识别可能的合作者和审查者。
    • 此更改是否与正在进行的另一个更改冲突? 如果是这样,请与他人合作以最大限度地减少影响。
    • 这个改变很重要吗? 如果是这样,请与他人合作将更改分解为更小的步骤。
  3. 实施更改。

    • 如果更改很大,请将其拆分为更小的 PR。

    • 根据需要包括测试和文档。

  4. 创建 Github 拉取请求

    在 StarRocks 社区中,我们在贡献代码时遵循 fork-and-merge GitHub 工作流程。

    • 在您的 GitHub 帐户中创建 StarRocks 的 fork。
    • 将此 fork 的存储库克隆到您的计算机。
    • 基于您希望贡献的分支签出一个新分支。
    • 将您的代码更改提交到新分支。
    • 将带有代码更改的分支推送到 GitHub。
    • 创建一个 PR 以提交您的代码更改。 建议在一个 PR 中提交 ONE 提交。 您可以按照PR 模板提交 PR。
    • 确保拉取请求通过 CI 中的测试。
  5. 至少需要 2 名审阅者进行审阅

    • 对于 StarRocks 项目,我们要求至少 2 个来自审阅者(提交者)的 lgtm 才能合并拉取请求。

    • 这通常在几天内发生,但如果更改很大、复杂或关键的审阅者不可用,则可能需要更长时间。 (请随意在拉取请求上 ping 审阅者)。

  6. 维护者在最终更改被接受后合并拉取请求。