欢迎光临散文网 会员登陆 & 注册

专访|江华禧:从参与者到引导者,开源可以是一条长行之路

2023-08-22 18:00 作者:开源之夏  | 我要投稿


开源之夏专访持续开放中,欢迎已从开源之夏毕业或正在参与开源之夏活动的学生、导师一同加入专访行动,扫描文末二维码填写专访问卷,与大家分享你眼中的开源之夏!

本期采访人物是陪伴开源之夏一起走过 4 年的参与者——江华禧,他在开源之夏 2023 作为 Apache SkyWalking 导师指导了项目 Skywalking Infra E2E 自测试  

项目链接:https://summer-ospp.ac.cn/org/prodetail/237cc0238?list=org&navpage=org


# 自我介绍

ospp:请简单介绍一下自己。

江华禧:大家好,我是江华禧,一名开源爱好者,目前主要活跃于 Kubernetes 和 Apache SkyWalking 社区,同时也是 Apache SkyWalking Committer。我算是开源之夏的“老顾客”了,已经连续 4 年参与了活动,身份也从学生转变为了导师,这让我对开源也有了进一步的理解与感悟,很高兴能够和大家分享。

ospp:最开始是如何接触到开源的呢?参与开源的动机是什么?能否简单介绍一下相关经历或者印象最深刻的项目经历?

江华禧:我是在读研时才开始接触开源的,可以说是通过开源之夏开始正式走上开源之路的。当时正好是我所在的中国科学院软件研究所主办了首届开源之夏活动,所以知道了这个活动,这与我渴望参与开源的意向不谋而合,就果断参加了。当时就是想借助参与开源项目来提高自己的能力,丰富项目经验。说起印象深刻的项目经历,skywalking-eyes 这个项目算是一个(在开源之夏2021设置了两个相关任务),这个是我和社区导师一起发起的一个项目,它是一个开源许可证检查工具,可以帮助扫描和修复开源项目中的一些许可证问题。某天我在浏览一个开源项目的 PR 时看到,reviewer 让 PR 作者在源代码头部加上许可证信息,我立马意识到,这不是正好可以引入 skywalking-eyes 这个工具。于是我提交了 PR,在持续集成流程中加入 skywalking-eyes 的许可证检查,这样就不再需要人工提醒了。然后我发现项目中的所有 header license 都少了一行文字,这更加凸显了我们工具的必要性和实用性。看到自己参与开发的一个小工具能够帮助到一个有上万 star 的知名开源项目解决实际问题,提升效率,我就感到无比有成就感。目前,skywalking-eyes 已在超过两千个代码仓库中使用。

ospp:您认为开源的意义是什么?参与开源对于您的专业提升、就业选择方面有什么帮助么?

江华禧:我觉得开源的意义是共享与共建。共享是指人们分享软件及其源代码,使其他人可以从中受益,这降低了获取信息的成本,可以避免重复造轮子;而共建则是在共享的基础上,大家各展所长,协作解决问题,共同创造价值。这种共享与合作的精神可以推动技术快速发展与创新。对于我而言,可以说开源改变了我的人生轨迹。首先是学业上,我在研究生阶段专注于智能软件工程的研究,旨在将人工智能技术应用在软件工程的各个环节中,这需要我亲身实践并发现实际问题。而开源则提供了这样一个窗口,让我有机会深入参与到大型软件项目的设计、开发、测试和发布等环节中,这为我的科研带来了不少灵感。基于我在开源经历中发现的问题,我相继开展了发布说明(release notes)和代码审核评论(code review comments)自动生成的研究,研究成果发表在了 APSEC 和 ESEC/FSE 等软件工程国际学术会议上。其次是在个人发展方面,参与开源让我的沟通、编程、协作能力都得到了显著提升,也积累了很多宝贵的项目经验,这让我在就业市场上具有更大的竞争优势,我也因此得到了一份满意的工作。


# 参与开源之夏

ospp:您已经连续四届参与开源之夏了,从学生开发者到导师,这其中的体验如何?您认为如何才能成为一名合格的开源之夏导师?

江华禧:当学生的体验很好,很幸运能遇到我的社区导师柯导(柯振旭),他给了我很多鼓励和帮助,指引我进入开源的世界;但是成为导师后就觉得,当导师真不容易,首先得在诸位候选人中挑选出合适的学生来完成项目,接着在项目进行中要经常与学生进行沟通指导,既要保持充足的耐心,还要及时给予正向的反馈,此外还得把握好指导的度,不然很容易变成有标准答案的考试,学生只是按部就班地写代码,没有了自己的思考和钻研。我觉得一名合格的开源之夏导师既要能够在项目上尽心指导学生,让学生能够通过活动有所收获和成长,也要传播开源的理念与文化,引导学生爱上开源,享受开源,让学生在活动结束后依然愿意参与开源。

ospp:从学生和导师的不同角度,您认为应该如何选择适合自己项目以及如何设置适合学生开发的项目?

江华禧:站在学生的角度,我认为首先要选择活跃、知名的开源社区。好的社区意味着成熟的协作流程、良好的氛围、严谨的代码规范,以及有更大几率遇到优秀的导师,这些对于学生今后在开源方面的发展都是非常有帮助的;其次是以兴趣为导向,结合自身未来的职业发展来选择项目;然后要敢于走出舒适区,选择对自己有一定挑战性的项目,让自己能够得到锻炼有所成长。与前几届开源之夏相比,除了高年级的学生参与之外,越来越多的大一、大二学生也开始参与,作为导师,我觉得最好设置较为独立、自闭环、难度适中的功能开发类项目,这样学生可以更好地上手。

ospp:请简单介绍一下您指导的项目及对项目成果的期望,目前开源之夏2023活动项目开发正在进行中,您指导的项目是否正常进行呢?

江华禧:我今年指导的项目是“Skywalking Infra E2E 自测试”,类似于编程语言的自举,就是需要用这个 E2E 框架本身来对自己做 E2E 测试。对成果的期望就是希望通过这种方式编写的测试用例覆盖已有的主要功能,且能够集成到 CI 中。目前指导的项目整体上来说在正常进行,就是进度稍晚于预期。

ospp:有什么项目开发建议可以分享给正在参与活动的学生?

江华禧:我觉得在项目中沟通比开发更重要,学生们一定要积极地和导师保持沟通,及时汇报进度和遇到的问题,避免出现一通埋头苦干最后发现不符合导师的预期需要返工的情况。开发方面的话,一个是注意任务的分解,避免一次提交一个大 PR,而是合理拆分成小 PR;另一个是要注意代码规范,写好注释,尽可能附上单元测试。这些都能够帮助社区更好地 review 代码,更快地合并。

ospp:您眼中的 Apache SkyWaling 是一个怎样的开源社区?

江华禧:Apache SkyWalking (https://skywalking.apache.org/) 是一款针对云原生架构设计的应用程序性能监控 (APM) 系统,提供了一站式的 APM 解决方案。它支持分布式跟踪、拓扑图分析、指标聚合、日志管道、告警等功能,可以帮助开发人员了解应用程序的运行情况,特别是在微服务、服务网格等复杂环境中的可观测性。SkyWalking 的生态非常强大,它提供了近十种编程语言探针,技术栈涵盖前端、后端、基础设施(kubernetes),以及 eBPF,甚至还开发了自己的数据库。因此对于想参与开源的同学来说是一个不错的选择。


# 寄语

ospp:您认为如何才能更好的融入开源社区,与他人协作分享经验,并在社区建立有价值的人际关系?

江华禧:我觉得这需要耐心和持续的努力。首先,你需要对项目的代码有一定的了解,才有与他人交流的基础;其次可以加入到社区的邮件列表或是 slack 等线上交流渠道,关注社区的动态和 issue,积极回答问题,提出新的想法及贡献代码,保持活跃;在对项目有了一定理解后,可以通过写博客,做演讲等方式分享你的知识;然后尽可能参与到线下的活动,与成员面对面地沟通,结识到志同道合的人。

ospp:有什么建议或鼓励想对参与开源和开源之夏活动的同学们说的么?

江华禧:我想对未能中选开源之夏活动,但仍对开源心怀向往、抱有热忱的同学们说,别感到气馁,也不要放弃,落选不代表着就不能参与开源,参与开源的大门始终对每个人敞开


END


专栏编辑:大梦

校对:校大山、江华禧

制图:GoodWhite

专栏投稿请联系开源小助手:kaiyuanzhixia 或专栏编辑:Hungryfish34(备注“专栏投稿”加速通过),或填写下方专访信息收集问卷。



专访|江华禧:从参与者到引导者,开源可以是一条长行之路的评论 (共 条)

分享到微博请遵守国家法律