为 StarRocks 做贡献
非常欢迎大家为 StarRocks 做出贡献。贡献 StarRocks 不仅限于贡献代码。下面,我们列出为社区做出贡献的不同方法。
报告错误 | 您可以提交 issue 以报告 StarRocks 的错误。您也可以点击文档站点您正在阅读的页面右上角的“反馈 ”来报告错误。 |
---|---|
贡献代码 | 您可以通过修复错误或实现功能来贡献您的代码。 |
贡献测试用例 | 您可以贡献您的测试用例。 |
帮助审查代码 | 如果您是 StarRocks 的活跃贡献者或 Committer,您可以帮助我们审查拉取请求 (PR)。 |
贡献文档 | StarRocks 社区维护着大量的中文和英文文档。您可以通过修复文档错误或提出新的内容来贡献文档更改。 |
帮助 StarRocks 用户 | 您可以帮助在我们的社区中遇到困难的新手。 |
传播 StarRocks 的信息 | 您可以撰写一篇文章或就我们发表演讲,以帮助将我们的技术传播到世界各地。 |
注意
要贡献文档,请记住使用
git commit -s
签署您的提交。 否则,开发者原创证书 (DCO) 检查将失败,并且 PR 可能会被阻止。 此外,在您的 PR 标题前加上[Doc]
并选中 Doc 复选框。
社区资源
获取有关 StarRocks 的各种帮助的最佳场所是通过 StarRocks 的 Slack 频道。 对于与贡献相关的讨论,请访问 #contributing-to-starrocks 频道。
您还可以在 GitHub 上报告问题和问题,或提出新功能。
行为准则
我们的社区严格遵守行为准则。
社区角色
我们鼓励每个人参与 StarRocks 项目。 任何人都可以通过简单地参与关于新功能、项目路线图、架构的讨论,甚至报告您面临的问题来产生影响。
下面列出的角色是参与社区的几种可能方式,它还定义了每个角色的期望。
用户组
参与者
参与者积极参与社区,并努力使 StarRocks 对每个人都更好。
作为参与者,您可以在 GitHub 上提交问题报告,贡献测试用例,翻译/修改文档,帮助回答论坛或社区中的用户问题,参与活动,分享您使用 StarRocks 的经验,在 GitHub 上 star StarRocks,等等。
期望和责任
-
遵循社区的 行为准则。
-
参与讨论和社区活动。
-
与社区分享反馈,以便其他人知道哪些有效/无效。
-
提出改进建议。
拥护者
StarRocks 社区拥护者是一群充满激情的社区布道者和先驱者,他们精通 StarRocks 技术。 他们喜欢分享社区中的最新发展和产品,他们的热情推动了社区的进步和发展。
权益
产品
-
提前访问新产品/功能。
-
参与与项目核心团队的独家会议。
社区
-
在网站上列为 StarRocks 拥护者。
-
专属奖品和徽章。
活动
-
免费参加 StarRocks 的活动。
-
报销活动差旅费和住宿费。
-
贵宾席位和贵宾活动。
要求
- 已发布至少 3 篇与 StarRocks 相关的原创优质技术内容(包括文章、教程、视频等)。
- 以演讲者身份参加至少 2 次线上/线下技术分享会。
- 帮助回答 Slack 和其他渠道上的用户问题。
其他要求
- StarRocks 拥护者必须遵守 StarRocks 社区行为准则。
- 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 电子证书。
贡献流程
如果您不知道如何开始,这是我们建议的贡献流程。 此流程旨在帮助减少您的学习曲线并更有效地合并您的拉取请求!
-
通过创建 Github issue 或在 Slack 频道上提问来开始讨论(除非更改微不足道)。
在开始编写代码之前,您应该在 issue 正文中发表评论,并通知维护人员将您希望解决的 issue 分配给您。 建议在 issue 正文中分享您解决此问题的计划。
- 此步骤可帮助您识别可能的合作者和审查者。
- 此更改是否与正在进行的另一个更改冲突? 如果是这样,请与他人合作以最大限度地减少影响。
- 这个改变很重要吗? 如果是这样,请与他人合作将更改分解为更小的步骤。
-
实施更改。
-
如果更改很大,请将其拆分为更小的 PR。
-
根据需要包括测试和文档。
-
-
创建 Github 拉取请求
在 StarRocks 社区中,我们在贡献代码时遵循 fork-and-merge GitHub 工作流程。
- 在您的 GitHub 帐户中创建 StarRocks 的 fork。
- 将此 fork 的存储库克隆到您的计算机。
- 基于您希望贡献的分支签出一个新分支。
- 将您的代码更改提交到新分支。
- 将带有代码更改的分支推送到 GitHub。
- 创建一个 PR 以提交您的代码更改。 建议在一个 PR 中提交 ONE 提交。 您可以按照PR 模板提交 PR。
- 确保拉取请求通过 CI 中的测试。
-
至少需要 2 名审阅者进行审阅
-
对于 StarRocks 项目,我们要求至少 2 个来自审阅者(提交者)的 lgtm 才能合并拉取请求。
-
这通常在几天内发生,但如果更改很大、复杂或关键的审阅者不可用,则可能需要更长时间。 (请随意在拉取请求上 ping 审阅者)。
-
-
维护者在最终更改被接受后合并拉取请求。