如何成为 Apache SeaTunnel Committer?

社区的 Committer 是指拥有项目存储库的写权限的社区成员,即 Committer 可以自行修改代码、文档和网站,也可以合并其他成员的贡献。成为 Apache SeaTunnel Committer 没有严格的规则,实际上,新 Committer 的候选人通常是活跃的贡献者和社区成员。

172619454610533498552596e0a3a2bb226a3576b165d

Apache SeaTunnel 作为一个开源的数据集成工具,旨在简化和加速海量数据的采集和传输。
社区的 Committer 是指拥有项目存储库的写权限的社区成员,即 Committer 可以自行修改代码、文档和网站,也可以合并其他成员的贡献。成为 Apache SeaTunnel Committer 没有严格的规则,实际上,新 Committer 的候选人通常是活跃的贡献者和社区成员。
有些成员可能在社区的其中几个领域都很活跃,虽然他们在任何单独一个领域可能都没有足够的“成就”,但他们在几个领域的综合贡献都是有效的。
作为一个社区,感谢大家对 SeaTunnel 代码库的贡献,但我们也同样重视那些通过某种方式改善社区来帮助 SeaTunnel 发展的人。对社区发展有贡献的成员也完全有可能成为 Committer(并最终成为 PMC 成员),虽然他们可能一行代码也没有提交过。
总之,成为 SeaTunnel Committer 是对社区贡献者在代码质量、技术能力和社区参与度的高度认可。本文将为您详细介绍如何成为 SeaTunnel 的 Committer,包括基本要求和最佳实践。


先决条件



  1. 过去几个月持续的贡献
  2. 可以看得见的讨论:开发邮件列表、Slack或 GitHub GitHub issues/discussions中的讨论
    • 贡献代码:https://github.com/apache/seatunnel/pulls
    • 订阅社区开发邮件列表 : dev-subscribe@seatunnel.apache.org
    • 开发邮件列表:dev@seatunnel.apache.org
    • 加入 Slack:https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ
    • 提交问题和建议:https://github.com/apache/seatunnel/issues
  3. 对社区健康和项目长期可持续性的贡献。


成为Committer的基本要求



  1. 持续贡献
    • 代码贡献: 不仅要解决问题,还需要提交高质量的代码。关注代码可维护性、性能优化和架构设计。在 SeaTunnel 的关键模块,如 seatunel-engine、seatunnel-connectors、seatunnel-transform、seatunnel-api等方面做出贡献。
    • 文档贡献: 贡献不仅限于代码。优秀的文档编写者也可以成为 Committer。文档包括功能的详细说明、文档翻译、使用指南、最佳实践等。
  2. 积极参与社区
    • 参与讨论: 定期参与 Apache SeaTunnel 的开发邮件列表、GitHub Issues 以及 PR 讨论,提供建设性的建议和反馈。
    • 审阅代码: 除了提交代码,积极参与其他开发者的 PR review工作,保证项目的代码质量与一致性。
    • 解决 Bug: 社区经常有待解决的 Bug 和 Feature 请求,挑选并解决这些问题是快速展示能力的途径。
  3. 理解项目架构与核心模块
    • 深入理解 SeaTunnel 的架构,特别是在数据同步框架的设计与实现上表现出一定的掌握。
    • 对 SeaTunnel 支持的各类数据源、连接器等有一定的理解和贡献。


如何成为SeaTunnel Committer



  1. 展示贡献的持续性与质量
    • 成为 Committer 之前,您需要展示稳定且持续的贡献记录。这可以包括提交高质量的 PR、参与 Bug 修复和优化、文档改进等。随着对 SeaTunnel 理解加深,理想情况下,欢迎参与 SeaTunnel 的关键特性设计与开发,重要的特性欢迎提 STIP:https://cwiki.apache.org/confluence/display/SEATUNNEL
    • 在提交 PR 时,遵循 Apache SeaTunnel 的贡献指南,确保代码格式规范、单元测试覆盖率足够,并在代码审查过程中快速响应反馈。
  2. 社区活跃度
    • 定期参与 SeaTunnel 社区的讨论,特别是在技术路线、项目规划以及重大技术决策的讨论中展现出专业的见解。
    • 鼓励参与或发起社区会议如社区周会,并在社区的 RFC(Request for Comment)讨论中做出积极评论,帮助推动项目的演进。
  3. 获得现有 Committer 或 PMC Member 的支持
    • 成为 Committer 的提名通常来自于现有的 PMC Member,因此与现有 PMC Member 进行积极合作,获得他们的信任和支持非常关键。通过高质量的代码审阅、积极的技术讨论等方式展现技术能力和团队合作精神。
  4. 通过投票
    • 当您的贡献获得社区认可后,现有的 PMC(Project Management Committee)委员会发起投票。如果获得足够的支持票,您将被授予 Committer 权限。


成为优秀Committer的实践



  1. 代码质量优先并从小处做起
    • 提交的每一行代码都应经过严格的自我审查。关注代码的可读性、扩展性和性能。作为 SeaTunnel 的 Committer,您不仅是代码贡献者,也是代码质量的守护者。
    • 一开始接触社区贡献不需要惊天动地,从 https://github.com/apache/seatunnel/labels/help%20wanted 挑选简单的开始练手,从简单逐步到有挑战的问题,一步一个脚印。
  2. 定期学习与分享
    • Apache SeaTunnel 作为一个活跃的开源项目,技术发展迅速。Committer 应该保持学习的态度,掌握新的数据同步技术以及云原生技术栈。同时,欢迎将这些经验分享给社区,帮助其他贡献者成长。
  3. 主动承担责任
    • 成为 Committer 后,意味着您不仅对自己的贡献负责,也要帮助其他开发者。在关键问题上主动承担任务,例如重大 Bug 修复、新特性开发、版本发布管理等。
  4. 推动项目的长期发展
    • Committer 不仅是执行者,更应该是项目的推动者。提出具有战略意义的改进方案,如支持新的数据源或优化 SeaTunnel 的性能和扩展性。积极参与社区的长期规划与技术路线图的讨论。


社区急需解决的问题,鼓励贡献



  1. Help wanted issues:https://github.com/apache/seatunnel/labels/help%20wanted
  2. Connector开发:
    • https://github.com/apache/seatunnel/issues/5652
    • https://github.com/apache/seatunnel/issues/5677
    • https://github.com/apache/seatunnel/issues/5651
  3. Connector开发教程: