专访 | 许伟 ——贡献榜 Top4 也只是“开源小白”

OpenMLDB: 请先来一段自我介绍吧。

许伟:Hello,我叫许伟,毕业于西北工业大学,现在就职于航天科工网络信息发展有限公司,主要是从事容器云和网关方面的研发工作,是KubeSphere 社区 Member,fluent-operator 的 Maintainer,很高兴能参加 OpenMLDB 社区的访谈。

OpenMLDB: 请问是什么样的契机让你接触到了 OpenMLDB 呢?

许伟:也是一个很偶然的机会。今年五月,留意到腾源会组织的开源摘星活动正在进行。因为我也是从去年七月份才接触开源领域,算是一个开源小白,就想借着这个活动提升一下自己。在开源摘星的社群里有看到 OpenMLDB 社区一些对新人很友好的开源任务,然后就参与到咱们 OpenMLDB 社区里面来了。

OpenMLDB: 为什么在去年的七月进入开源这个领域呢?

许伟:主要还是跟自己的工作关系比较紧密,刚开始工作时,自己就是一个CURD boy,闭门造轮子,很少用到框架的东西,效率很低。进入到容器云和网关方向开源项目的研发,我们会去借鉴一些优秀的开源社区以及寻找和采用与自己工作挂钩的开源项目进,并积极与上游互动,在这个过程中我慢慢参与到开源中来。

OpenMLDB: 那您参加的开源社区的动力都是来自于工作需要吗,还有其他的因素驱动吗?

许伟:开始参与开源肯定与工作有关的。毕竟每个程序员在工作中都会大量接触到开源语言、开源框架和开源工具等,这些都给我们的工作带来了极大的便利。在使用之外,我工作外也会去学习这些开源框架的源码,同时自己也会把使用时遇到的问题反馈给社区,促进社区的发展。这是加入开源的一个方面,另一个原因是跟自己的兴趣爱好比较相关。

OpenMLDB: 想问一下您在选择参与的开源社区的时候,有哪些参考因素呢?

许伟:主要的选择因素还是跟工作相关,因为感觉自己的时间精力比较有限,不能把所有开源社区都纳入贡献计划里。所以参与的社区会和工作内容息息相关,可以避免我们自己去重复的造轮子。引用开源的框架或是工具,让工作更有效率的开展。另外一个选择因素是自己的兴趣。工作之余的话,我也会去了解一些 AI 与机器学习方面的知识,适当挑选一些社区来贡献。

OpenMLDB: 开源摘星活动的社区选择非常丰富,OpenMLDB为什么吸引到了你?

许伟:开源摘星的活动确实有很多优秀的项目,浏览起来几乎是眼花缭乱。当时也有一个机缘巧合,是腾小源在微信群里分享了一些特别适合新人参与贡献的项目,我就通过这个信息留意到咱们 OpenMLDB 社区的一些 issue 对新人来说是比较友好的,接着自然地参与到项目中来。

OpenMLDB: 请问在参加社区项目前后,对 OpenMLDB 的认识有没有发生什么变化?

许伟:有变化,而且是比较大的变化。刚开始参与 OpenMLDB 社区开源贡献的时候,留意到项目主要语言还是 C++,但是自己很长一段时间没有接触过 C++ 语言了,有点陌生了,不知道怎么下手,参与开源时候还有很多不知所措,也不知道有哪些任务适合自己去开展的。实际上,在我去阅读了一些 readme、快速上手文档等,发现了原来对开源认识的局限,你不只能够参与社区的代码贡献,也可以为社区提出有用的建议或者做 CI/CD 等方面的工作,还可以撰写优化文档。真正的参与后,认识到了开源不是纯粹的代码性工作,而是多方面多途径的。

OpenMLDB: 从去年七月参与开源到现在,有感受到开源领域发生的变化吗?

许伟:就我目前参与项目的观察来说,开源社区整体都在计划中稳定且良好地发展。可以看到每个社区都具备自己的 roadmap,通过它们告诉大家社区对未来的展望,对功能实现的规划。在我参与开源的这段时间内,有看到很多社区都在推动 roadmap 中的目标规划的一个一个实现,让更完善的功能服务更多数的人。

OpenMLDB: 在开源的实践过程中,有没有发生过什么有趣的事情?

许伟:有很多有趣的事情。在开源入门时期,因为不知道怎样下手、如何参与,碰到了很多开源过程中的障碍,发生了一些尴尬,比如说 PR 的提交不够规范,认领任务之后发现很难实现。感谢社区同学提供的宝贵建议才让我在这些尴尬中满满成长起来。这些当时的尴尬在事后回想起来反而变成了有趣且宝贵的回忆和经验。

OpenMLDB: 虽然许伟老师自谦自己是开源领域的小白,但是已经在活动中有了很亮眼的表现。比如我记得您是开源摘星的七月贡献榜的 top4,能请教一下快速参与项目开发的方式和技巧吗?

许伟:首先还是要根据自己的兴趣爱好和工作经验去挑选相关的项目,这样就可以快速切入到社区当中,得心应手地展开贡献。其次是要做好前期准备,比如阅读社区的 readme 和开发者文档,以及可以重点关注社区核心开发者的笔记分享。在开发的过程中,要及时的与社区反馈自己设想的解决方案和遇到的问题等等,通过沟通和合作来提高参与开源的效率。最后一点是要循序渐进,可以从适合新人的 good first issue 开始,慢慢的过渡到一些有难度有挑战性的任务。

OpenMLDB: 对您来说,参加开源有哪些收获呢?

许伟:一方面给我的工作带来了很明显的帮助,开发效率有明显的提升。另一方面是,自己在参与开源的过程中得到了锻炼,能力获得提升,自己也收获了许多来自社区的真诚建议,能更清晰地了解行业发展方向。

OpenMLDB: 想问一下您对 OpenMLDB 的有什么建议吗?

许伟:因为我之前主要使用的编程语言和 OpenMLDB 的底层代码的编程语言不同,参与社区贡献的开始会有一些障碍,所以希望社区多提供一些对新人比较友好的开源贡献文档,或者是一些教学视频。

OpenMLDB: 最后对 OpenMLDB 说一句话吧!

许伟:在参与社区开源的过程中,社区以一种包容、友善的姿态帮助开发者更好地参与到社区的共建中,使我受益匪浅。在这里衷心地祝愿 OpenMLDB 社区越来越好,更上层楼。