从开源小白到新晋 committer:主动尝试,心无旁骛,收获满满!
又一位清华同学加入!
2024 年 6 月 12 日,经 Apache IoTDB 社区投票,杨蔡胤成为 Apache IoTDB committer。之前从未参加过开源社区贡献的他,为什么选择了 IoTDB,又为什么能够坚持到现在,有什么样的收获与成长呢?
杨蔡胤
我叫杨蔡胤,是清华大学软件学院研一的学生。我是从 2022 年的 10 月开始加入社区参与贡献的。
关于 Apache IoTDB
最开始你是怎么了解到 Apache IoTDB 这个项目的?
我属于对工程和系统方向比较感兴趣的人,保研的时候也是在了解相关的机会。这个过程中我从学院的学长处听说了 Apache IoTDB。我也是第一次知道国内有这样一个高校主导的 Apache Top-Level 项目,在国内、国际上都有非常可观的成就,所以一下对这个项目产生了浓厚的兴趣,继而想要去了解我能不能参与到这个项目中。
是什么让你最终选择参与到 Apache IoTDB 这个项目中?
在和 IoTDB 的一些学长交流后,我来到组里实习,在实习的过程中,我遇到了团队中非常优秀也非常热心的学长一直在帮助我,让我感到非常温暖。成功的开源贡献和对大型项目抽丝剥茧带来的成就感也给了我很强的正反馈,我自己非常喜欢这个沉浸的过程,就很自然地选择留下了。
在 Apache IoTDB 中主要负责哪一部分的内容?
我在 IoTDB 中主要负责查询引擎的开发和优化,包括 SQL 的功能拓展,查询规则优化和查询分析工具等功能的开发。
在参与 IoTDB 项目建设的过程中,有哪些收获?
在参与 IoTDB 社区之前,我自己维护的都是一些小型或者偏个人的项目。当接触到 IoTDB 这种大型且有实际客户的落地项目后,我开始能够以一种更加全面、全局化的视角看待数据库系统设计,并以更加注重细节的心态进行实现。我能够明显感受到自己身上,系统工程师所需的基本素养在不断提升。
除此之外,在参与社区的过程中,也认识了很多优秀的同学们,无论是项目上还是项目外,我都从他们的身上学习到了很多。
有什么参与贡献过程中的故事分享?
前段时间我参与了活跃元数据查询功能的开发,这个功能涵盖面比较广,同时涉及查询,元数据和存储等等多个模块。有很多模块是我不太了解的,当时为了搞清楚这些,光是设计就花了一个月,在和学长的不断交流中才最终确定设计方案。之后的代码开发也是花了近一个月,过程其实有点挣扎和痛苦,但完成之后自己对 IoTDB 的整个架构和流程都有了更全面的认识,真的是一种疲惫又充实的感觉。也很感谢这个过程中社区伙伴们的解答,没有他们这个过程耗时可能要再翻一番 hhh
是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?
还是因为喜欢吧。我喜欢写代码的过程,看到在我手里一个功能模块的设计逐步变成现实,这本身就是特别大的成就感。随着项目功能不断丰富,我也很开心能够看到自己的代码能够伴随着一个项目成长。当然,社区里有趣的伙伴们也是我持续交流贡献的动力之一。
关于开源社区
之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?
之前没有参加过。我之前一直认为开源是一个很难上手的过程,因为能够贡献代码往往意味着你要能够理解它内部的执行逻辑。不过实际参与之后,我明白了开源本质上也是一种知识共享,通过公开资料你其实可以快速了解一个项目,社区之间的交流也可以帮助你做好模块拆分,减小你工作的复杂度和摩擦力。一句话总结吧,当时觉得无法到达可能是因为根本没有出发。
你觉得开源社区对 Apache IoTDB 的“加成”是?
我有时会在 Issue 列表看到一些相关功能的建议或者 Bug。这些往往是我在设计开发过程所遗漏掉的,这些 Issue 帮我提前避免了很多问题。我认为开源社区的一个有意思的地方就是会有各种各样来自世界各地的用户和开发者集思广益、发表看法,而大家参与社区都是为一个共同目的——完善 IoTDB 让它更好。
有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?
主动尝试吧!其实实际参与项目的机会不少,多关注 Issue 列表、多交流,总有人会积极的回应你,并从你的看法中有所收获。真心希望每个编程爱好者都可以将自己的热情付出给一个自己所热爱的、值得的项目。
成为 Committer 的感言!
成为 Committer 意味着社区和大家对我工作的认可,我很高兴。希望将来我能够继续精进自己,去做更多有意思的设计,帮助 IoTDB 越来越好。也欢迎对数据库感兴趣的各位加入到社区中来!
评论