MariaDB Server 代码贡献之路

我在 MariaDB 基金会担任首席贡献官已有几周时间,很高兴再次成为 MariaDB 大家庭的一员。我的工作之一是帮助社区修改和完善拉取请求,使其能够被合并。然而,我发现工作中令人沮丧的部分之一,就是不得不拒绝那些开发者显然投入了大量时间和精力的贡献。
贡献可能会因多种原因被拒绝或至少需要修改。这些原因包括对更广泛代码库的潜在连锁影响,例如在其他地方引入新的 Bug 或性能回退。也可能是因为拉取请求针对了错误的版本、缺乏测试等等原因需要修改。
因此,我决定写一份粗略的指南,希望能帮助您成功提交代码贡献。
第 1 步:与我们沟通
MariaDB 的工程师们非常平易近人,社区可以随时联系我,在需要时充当社区和工程师之间的联络人。如果您有一个很棒的想法或者发现了一个希望解决的 Bug,请随时与我们交流。通过 Jira 或 Zulip 聊天进行沟通效果很好,我们可以就您应该采取的大致方向提供建议,或者告知您可能未考虑到的障碍。我们还可以确保这并非其他人正在进行的工作。
第 2 步:编写代码!
开始编写您的补丁代码。如果在 Jira 票证中跟踪您的进度,对我们很有帮助,但这并非总是必需的。如果您遇到困难或有任何问题,可以再次联系工程师或直接与我联系。请确保如果是 Bug 修复,则针对受影响的最早支持版本进行开发;如果是新功能,则针对当前的开发版本进行开发。关于如何操作的信息可在此处获取。您还需要确保所有代码都符合我们的编码标准,以保持代码库的一致性。目前最好的做法是查看周围的代码以及其格式化方式。
无论您正在处理什么 Bug 或功能,我们都非常需要测试用例。这至关重要,以便我们能够真正理解 PR 的真实意图,确保它经过充分测试,并防止以后发生意外的回退。关于编写测试的更多信息可在此处获取。
第 3 步:提交拉取请求
当您针对 MariaDB Server 提交拉取请求时,会看到一个需要填写的模板。填写此模板能极大地帮助我们分类拉取请求并快速了解其意图。您还需要签署 CLA,或者声明您是在 3-Clause BSD 许可证(又称 BSD-New 许可证)下提供贡献。
第 4 步:代码评审
MariaDB 的工程师将对代码进行评审,并根据需要提供建议。当工程师对拉取请求满意后,代码将被批准并合并。社区成员也欢迎在拉取请求中添加评论。贡献不仅仅是代码,它也是参与讨论的一部分。
我个人正在努力确保我们跟上待处理的代码评审。这需要一些时间,但与此同时,如果您的评审已经有一段时间没有被查看,欢迎在评论中标记我(GitHub 上的 @LinuxJedi),我可以进行查看。