专访|王嘉树:缘起开源之夏,一个北邮学子的开源见闻

本期开源之夏 2023 人物专访我们邀请到了开源之夏 2022 结项学生——王嘉树(结项项目:TDengine 社区 TDengine Visual Studio Code 插件开发树)。
王嘉树同学在开源之夏活动中的参与远不止于项目开发,他全身心地投入到整个活动过程中,自发组建开源之夏北邮校园社群,通过多种途径向北邮学生及新加入开源之夏活动的同学们介绍活动,积极联系开源导师与资深开发者参与开源布道活动,参与组织北京地区的开源线下活动和校园行,分享自己的项目开发经验和心得,助力更多同学加入开源之夏的大家庭。
鉴于王嘉树同学在开源之夏活动中作出的不懈努力和奉献,开源之夏组委会为王嘉树同学特别颁发「开源之夏活动·校园先锋证书」。我们希望有更多像王嘉树同学一样的优秀人才通过多种方式参与到开源之夏这一有意义的活动中,共同推动开源技术的发展和创新,为开源社区的壮大和发展做出更为杰出的贡献。

# 自我介绍
OSPP:请简单介绍一下自己
王嘉树:北京邮电大学电子工程学院研二在读。目前对前端和 devops 技术比较感兴趣,去年参与了 TDengine 社区的开源之夏项目。受 Rick 的影响,现在在校内做一个校园开源布道师。
# 参与开源和开源之夏
OSPP:你是如何了解并参与到开源之夏活动中的?有什么特别的经历与体会么?
王嘉树:最早认识开源之夏是因为2021年在实习中用到了 KubeSphere(在 Kubernetes 上构建的一个容器平台)。在他们的公众号接触到了开源之夏这个活动。当时看到他们在这个活动中实现了很酷的事情,就觉得这个活动非常的棒,因此在 2022 年一开始的时候就关注了。
因为关注的比较早,所以我在预热阶段就主动给几位导师发送了邮件,之前有过社区接触的 TDengine 的导师对我比较感兴趣,最后也是成功申请到了他们的项目。
我的项目是给 TDengine 编写一个可以显示数据表的的 vscode 插件,坦率的来讲压力还是非常大的。时序数据库的领跑者 influxDB 的 vscode 插件有十几位 contributor,已经开发了两年多了。不过好在对我的要求并没有 influxDB 的那么高,我只需要实现增删改查就可以了。当时遇到的最大的麻烦是 vscode 插件几乎没有什么中文资料,于是只好去啃一手的英文 API 文档。我之前都是偷懒看B站的那种手把手傻瓜教程,官方文档总是望而却步。最后啃完以后发现,官方的文档其实也并不是那么难懂,理解了文档,我最后大概用了一个半月的时间就完成了开发。最后通过提交 PR 的方式完成了这个项目,也认识了社区里 review 代码的小伙伴。
结项以后还有一个小插曲。当时已经收到奖金和证书了,不过我还一直在 TDengine 的客户群里面。有一天晚上突然有人在群里问到说 vscode 插件出现了一些问题不能用了。我当时还是非常惊讶的,因为 TDengine 有十几个客户群,我只加了一个,那个插件每天只有几个下载量,正好有问题可以遇到作者还是一种非常不得了的缘分。于是我就私聊了那位群友,现场开了一个腾讯会议为他解决这个问题。最后发现问题十分低级,这位用户的 SQL 基础不是很扎实,一直试图查询一个空的表,因为没有结果他认为是插件崩掉了实际上并没有。(我在之后的一个 PR 中修复了这个问题)虽然问题很简单,不过排查了很久,结束时已经晚上十一点多了。
其实我是一个非常讨厌加班和 On-Call 的人,居然能为了一个 bug 开腾讯会议加班到深夜,现在想来也觉得有趣,或许这就是开源的魅力吧。
OSPP:在参与开源之夏活动的过程中有哪些收获?
王嘉树:
收获1:丰厚的奖金和证书
能收到来自中国科学院软件研究所的证书和奖金还是很让人开心的。奖金的扣税在第二年是可以退回的,到账时间要到年底,请耐心等待。

我的证书(2022是很惨的一个电子版,不知道后面会不会有实体的,咱给组委会提过建议了2333)

收获2:社区的认可
做完的项目后续有一些小 bug ,后续再微信上讨论 PR 的时候 mentor 直接问我要不要直接去实习。(当天下午 HR 就联系了入职事宜,可惜因为时间问题没有去成)

收获3:认识了开源社区的小伙伴
认识了超多社区的朋友们。像是 Rick、古思为 、Shuduo Sang 等非常厉害的工程师,还有像是 Fawei 、eVaz 这样热情的社区运营。和他们交流让我对“开源精神”这件事也有了更加深刻的体会。
还非常荣幸的成为了第一位「开源之夏·校园先锋」。

OSPP:是什么促使你参与到开源之夏活动的宣传与推广活动中的呢?具体做了哪些工作?最大的收获是什么?
王嘉树:因为开源之夏是国内此类活动的先驱,而且每一届都办的很棒。之前就一直在关注 Google Summer of Code(GSOC),不过这个活动本身是英文交流的所以对国内学生来说不是很方便。我觉得随着软件国产化浪潮的兴起,开源之夏一定会成为国内最好的此类活动。(这不是我一个人的观点,与很多社区导师交流的时候他们都很赞赏这个活动)
校园布道的工作主要是拉了一个开源之夏的交流群,以及协办了一次开源之夏的线下宣讲。群本来是去年不太熟悉形式想大家一起讨论的,今年发现新加了很多小伙伴也想参与开源之夏,于是就尽量的在群里答疑什么,希望有帮到后来的同学们。因为答疑的也蛮多了,不会的地方就去问 Rick (前 gsoc 和 开源之夏 mentor),就有了把这些东西整理起来的想法。这里给自己打个广告,我写了一份开源之夏最佳实践的文档,欢迎提 issue 或者点点 star:
https://opensource-f2f.github.io/ospp-best-practice/#/

同时,我们在北邮举办了开源之夏校园行的活动,也是吸引了非常多对开源感兴趣的同学踊跃参加。我之前是那种闷头写代码的“好学生”,办这个活动也是走了许多弯路,不过成功的办了起来还是让人非常高兴的。

最大的收获可能是隐性的吧,不太好衡量。我觉得最大的收获就是认识了很多社区的好朋友,像是不厌其烦回答问题的 Rick,热情的 Apache 董事姜宁老师,还有赞助了最佳实践域名的思为大佬。和他们一起交流,真的有觉得自己一直在飞速成长(我去年在 leetcode 上刷了 500 多道题,打了几十场周赛,感觉都不如今年几个月带来的成长多。
OSPP:你觉得在参与开源之夏、在校园中推广开源之夏及类似活动的过程中,当前学生参与开源的机遇和阻力分别有哪些?
王嘉树:其实我对开源的理解也还很浅薄。我觉得学生参与开源最功利的来讲就是可以证明自己,找一份好工作。长远来看,不管是国家层面十四五首次收入了“开源”,还是像世界范围内的微软大手笔收购了 GitHub 投入开源阵营,开源这件事绝对是大势所趋。听 tison 在社交媒体上提到他以几个月惜败最年轻的 ASF Member,我想,同学们最大的优势就是年轻,开源这个领域焕发着勃勃生机,真的可以大有一番作为。
我觉得学生参与开源最大的阻力来自于学校知识和工业界知识的不一致。在 KCD beijing 上有幸和吴晟老师交流的时候他也提到了,现在很多技术,特别是云原生领域,工业界是远远快于学校的。学生在学校学到的知识,要灵活的使用到开源项目中还有很远的距离,就算是清北的学生亦然。拿我自己做布道师的经历来说,解决最多的问题是两类:git/GitHub/Gitee 的用法;导师不回我邮件/怎么问导师申请项目的人多不多。真正是遇到代码上的问题的,反而是极为少数的。
OSPP:你觉得参与开源之夏这样的活动对学生的职业发展和个人成长有何帮助?
王嘉树:对职业发展的帮助绝对是立竿见影的,去年一起参加开源之夏的同学今年拿了四个大厂暑期的 offer。很多学生找实习或者秋招苦于没有很好的项目经历。开源之夏就是一个绝佳的项目经历,除了有些太水的项目,可比购物网站或者秒杀平台锻炼多了。而且可以确定是自己完成,含金量还是有的。
从个人成长的角度来讲,能够接触到业界的社区也是扩展自己眼界的有效途径。我自己参与开源之夏前是一个非常社恐的人,现在遇到了社区很多热心的朋友。尽管社恐不是一朝一夕可以改变的,不过在与人交流方面成长了很多,我想这也是很大的一种成长吧。
OSPP:您对未来开源之夏活动有什么期望和建议?
王嘉树:像我提了很多次的那样,一个好看的纸质证书!如果能有主办方软件所的盖章和签字就更完美了。
顺便提一个 NebulaGraph 社区的清蒸小姐姐有一个特别好的社区运营实践,给每一个提交了合格申请书但没有中选的同学一份安慰奖周边(大概有结项礼包一半的内容)。我就很不幸的收到了 NebulaGraph 的一份安慰奖,这份安慰奖还是很暖心的哈哈哈。我后面还认识了很多 NebulaGraph 社区的小伙伴,像是思为和我的北邮学长青藤木鸟,不得不说这份安慰奖还是很暖人的。
# 经验分享
OSPP:最后,请您给其他有意成为开源之夏校园先锋的同学一些宝贵的建议和经验分享。
王嘉树:做为一个源于热爱的校园布道师,我自己总结了三条准则:
1)保持耐心。只是习惯了课堂的同学可能会问出“git 怎么使用”这样低级的问题,这是非常正常的。包括举办开源之夏校园行的开源步道活动,学校的环节流程相当繁多,也得到了很多老师同学的帮助。这一切,都需要校园布道师有足够的耐心和热情去做这些事情。
2)换位思考。对于参与开源这件事来说,既不是让人眼花缭乱的文体活动,也不像各类竞赛那样有立竿见影的好处。只是用开源精神去布道是远远不够的。需要确定的告诉身边的同学,参与开源可以提高技术、丰富简历,甚至还可以认识业内大佬或是专业的老师。换位思考同学们需要什么,换位思考是很重要的。
3)不断成长。在学校里,一个自身就不够优秀的同学是很难有人愿意听你布道的,必须保证自己的不断成长,不断学习,布道才会事半功倍。如果一个校园布道师自己就没有从开源中得到足够的成长,又怎么让其他人相信呢?一个不写代码或者停止学习的布道师,在我看来是不合格的。
END
专栏编辑:大梦
校对:校大山、王嘉树
制图:GoodWhite

专栏投稿请联系开源小助手:kaiyuanzhixia 或专栏编辑:Hungryfish34(备注“专栏投稿”加速通过)