贡献超 10 万代码的新晋 committer,持续参与 Apache IoTDB 社区的“秘籍”是?

资深贡献者成为 Committer!

2023 年 5 月 5 日,经 Apache IoTDB 社区投票,周沛辰成为 Apache IoTDB Committer。但其实这位新 committer 已经是 GitHub 代码贡献量突破 10 万,排名靠前的“资深贡献者”了。这位 Apache IoTDB 的“老粉”会有怎样的社区成长故事呢?

贡献超 10 万代码的新晋 committer,持续参与 Apache IoTDB 社区的“秘籍”是?_第1张图片

周沛辰

我叫周沛辰,GitHub 用户名是 choubenson,来自宝岛台湾。我本科毕业于南京大学软件学院软件工程专业,目前仍在清华大学软件学院就读工学硕士。我从 2021 年 7 月开始参与 Apache IoTDB 开源社区贡献,目前贡献了 106606 行代码,排名 14/256

关于 Apache IoTDB

最开始你是怎么了解到 Apache IoTDB 这个项目的?

第一次听说 Apache IoTDB 要从大四说起,那个时候确认自己被清华大学软件学院录取攻读硕士学位,于是开始了解各个导师的研究方向。我的兴趣偏向做工程项目,因此在师长介绍下,了解到了清华赫赫有名的 IoTDB 组,也是从那开始对时序数据库有了进一步的了解,并对相关技术领域产生了兴趣,于是开始投入到 Apache IoTDB 项目的研究与开发中。

是什么让你最终选择参与到 Apache IoTDB 这个项目中?

本科做的项目比较多的是偏向应用层面的软件,第一次听说 Apache IoTDB 项目,属于底层的系统软件,对我来说其实是一个比较陌生且富有挑战性的领域。我开始接触并了解工业物联网的背景下产生数据的特点,包括大规模和高速度、多样性和复杂性、实时性要求高和高可靠等特点,而 Apache IoTDB 专注于处理时序数据,且足够硬核,在技术实现上具有一定的挑战性相较于学术理论研究,我更享受解决实际工程问题带来的成就感,并且在开源社区里可以和相关领域的专家和学者建立联系,共同交流想法、解决问题,让我有足够的成长空间。因此,我最终决定参与到 Apache IoTDB 这个项目中。

在 Apache IoTDB 中主要负责哪一部分的内容?

在项目中,我主要负责存储引擎方面的工作。刚开始是负责 TsFile 文件底层的读写接口,包括文件存储结构的设计与开发工作。从 2021 年 11 月开始至今,主要负责数据库的合并模块的设计与开发,从我接手合并以来,先后对 Apache IoTDB 的合并模块经历了三次大版本的迭代开发工作,从维护 0.12 的合并到开发 0.13 的 readPointCompaction,而后到 1.1 的 fastCompaction,很高兴看到伴随我的努力,Apache IoTDB 的存储引擎在内存、性能和 CPU 开销控制上都有了较大的提升

在参与 IoTDB 项目建设的过程中,有哪些收获?

从本科的应用层软件开发到当今的系统软件开发,最大的收获就是培养了我对工程项目的严谨性。由于是系统软件,就需要直接和计算机资源打交道,对操作系统和计算机资源分配要有足够的了解。为了要追求极致的性能,需要对每一行代码都有足够的了解,毕竟随手的一行代码都可能导致意想不到的蝴蝶效应。

有什么参与贡献过程中的故事分享?

让我记忆深刻的是 22 年初的时候,放寒假前的一次集中开发。当时临时拍版,决定开发一个新的较稳定的合并方案,又赶着放进新版本 0.13。当时我连着好多天地敲代码,还遇到了许多本地无法复现的问题,为了不影响整体进度,还和社区的刘旭鑫同学一起帮忙找问题。虽然很累,但是大家一起在实验室集中开发和联调代码,可以学到其他同学解决问题的思路和方法,最后通过大家一起努力,还是达到了新版本对于合并方案的要求,也是一段比较难忘的经历了。

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

我认为在当今工业物联网场景下,Apache IoTDB 特有的系统架构和解决方案上可以很好的解决行业的许多痛点,诸如写入查询性能低、数据管理和存储成本高等问题。因此,我认为该项目是一个有美好前景和很大成长空间的项目。其次,Apache IoTDB 是个开源项目,拥有一个较活跃的社区,且在技术上具有一定的挑战性,通过参与该项目我可以和社区里的其他开发者和业内人士建立联系,一起交流和互相学习,让我有一个较大的成长空间

关于开源社区

之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?

没有,这是我第一次接触开源社区。之前只是简单地认为,开源项目就是把项目代码开放出来,供其他用户自由地使用或修改。在我真正地参与开源社区的开发工作后,我才发现开源社区其实是一群对某个开源项目感兴趣的人组成的社区,其中包括了开发者、用户、贡献者、专家和相关利益方等。大家可以在社区里通过线下或线上等方式进行交流或者合作,达到互相促进和学习的作用

你觉得开源社区对 Apache IoTDB 的“加成”是?

第一,我觉得开源社区提供了一个平台,让感兴趣的开发者可以参与进来,一起分享自己的技术和经验,互相合作,汇集各种创意和技术点,共同推进 Apache IoTDB 的发展。第二,社区的用户可以提交使用的反馈,有能力的可以进行修复和代码贡献,帮助 Apache IoTDB 快速发现和修复问题,提高了项目质量和稳定性。第三是生态系统的发展,社区成员可以扩建和分享 Apache IoTDB 和其他项目的相关集成工具、插件,丰富其功能和应用范围

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

只要你对时序数据库的前沿技术感兴趣的或者想要在其他领域上做出贡献的,欢迎你加入!哪怕是一个小白,也不需要担心,欢迎一起进来学习和成长。毕竟,我自己在本科时,在数据库和系统软件上也是个完全的小白,现在在社区的师长和小伙伴的帮助下,已经逐渐地越会越多,还在不断的学习中!

成为 Committer 的感言!

成为 Apache IoTDB 社区的 committer,意味着我的工作和贡献得到了社区小伙伴的认可,我也很高兴可以加入到 IoTDB 社区这个大家庭和大家一起交流和学习。作为国人自主研发的时序数据库,能参与到其中的开发并被认可还是很荣幸的,后续我会不断提升自己,以推动项目的持续发展和创新。最后,祝愿 Apache IoTDB 成为工业物联网和时序数据库领域的先驱和领导者。

作为全球性开源项目,截至目前,Apache IoTDB 已拥有 257 名贡献者、3.3K Stars、906 Forks、9433 Commits。我们为大家提供了参与指南,欢迎越来越多的小伙伴助力 Apache IoTDB 项目的不断发展与前进,迈出加入 Apache IoTDB 社区的第一步!

贡献超 10 万代码的新晋 committer,持续参与 Apache IoTDB 社区的“秘籍”是?_第2张图片

你可能感兴趣的:(apache,iotdb)