目前的位置: 首页 优秀本科生 正文

ZVM 核心维护者宋君帆:我与ZVM开源项目的结缘之旅


开源之路,漫漫长夜,代码为伴,星辰为灯。众人齐心,共创未来,技术之光,照亮前程。


宋君帆,湖南大学信息科学与工程学院软件工程系2021级本科生,ZVM核心维护者,湖南大学openEuler技术小组成员。宋君帆平时热爱浏览编程技术相关社区,并积极加入各类技术交流群,大一开始接触开源项目并机缘巧合下闯入开源世界,随后与开源结下不解之缘。大二参加了openEuler开源社区下的ZVM项目,并参与ZVM的内存部分的开发与维护工作。之后参加了全国大学生计算机系统能力大赛,并获得了全国总决赛二等奖。现在为ZVM开源项目核心维护者,主要负责内存管理部分的维护工作。


参与ZVM开源是一件很偶然的事情

从大一开始,宋君帆同学就经常浏览github和gitee等网站,看到上面一些优秀的代码时总是心生羡慕,想着什么时候自己也可以写出这样的代码。随后,宋君帆同学也参与了一些开源项目的贡献,例如curveadm,casbin 等。然而,真正让他以较大精力参与开源工作的机会是在大二下学期的计算机系统课程期间,谢国琪老师向班里的同学介绍了 他主持开发的ZVM 这一开源项目。宋君帆同学了解到ZVM项目起源自全球知名的开源实时操作系统Zephyr RTOS,并旨在实现全球优秀的开源实时操作系统虚拟化软件。因为宋君帆同学对操作系统实现原理具有较大的兴趣,抱着试一试的心态,宋君帆向 ZVM SIG Maintainer 熊程来博士咨询了项目相关情况,出乎意料的得到了很积极的回应。作为开源领域的小白,在什么也不懂的情况下ZVM开发人员给予了他耐心的指导与帮助。很快宋君帆就提交了在openEuler社区的第一个pr,“即使只是一个修复文档的pr,但是当时的兴奋到现在也还记得”。


上完计算机系统课程后的暑假,宋君帆继续参与 ZVM 的开发,并开始专注于虚拟机的内存管理模块部分。得益于老师的指导和团队成员的交流学习,宋君帆同学相关知识迅速成长,在两三个月的时间内 先后完成了 ZVM 动态内存分配与虚拟页交换,页表使用优化, Demand Paging 等功能。并逐渐了解了虚拟化软件的工作原理,并完成了从一个学习者到一个贡献者的转变。


参与ZVM受益颇丰

闯入开源世界的大门被宋君帆定义为偶然事件,但决心继续向前却是他遵从内心的选择,所以有所收获变成了必然。“这里有很多大佬,对新人非常友好,可以迅速地提高自己的能力”,这是宋君帆同学对开源社区的第一印象。

回忆起自己的开源之旅,让宋君帆印象深刻的是,刚开始接到做ZVM内存动态分配模块的时候,由于对 Zephyr  RTOS本身以及对ARM64硬件的不熟悉,完全没有找到思路,也总感觉无从下手。在这期间,通过和社区贡献者的沟通交流,并不停的获取相关知识, 宋君帆逐渐把握了门路。例如,开始逐渐摸清了 Zephyr 的内存模型,了解了ARM64架构下内存虚拟化的实现原理。并通过学习对操作系统底层,虚拟化软件的一些基本实现有了一个大概的了解。山重水复疑无路,柳暗花明又一村,曾经看来无法跨越的高山如今已然越过。

“参与开源项目开发也是一件很有意思的事情,自己写的代码被更多的开发者使用是一件正反馈很强的事情,和团队里的大佬协作开发、交流想法也是一件让人愉悦的事情。”宋君帆表示在ZVM开发的过程中学习到了很多优秀的代码、设计思维和技术,这些恰恰是在课堂上难以学习到的内容,他将ZVM和课程学习视为绝佳的互为补充的学习方法,课程内学习理论,然后在ZVM开发过程中进行实践。他还坚信加入开源社区的学习是自我增长的一大动力,“我相信参与ZVM等开源项目的益处绝不止于此,可以为自己的简历增添一笔,作为日常爱好,我认为开源项目开发是一件性价比很高的活动。” 同时,得益于宋君帆同学及其他ZVM贡献者们的共同努力,ZVM项目也发展得越来越好。参与开源项目开发,社区项目中贡献者们相互勉励,共同进步,实现了个人和集体的共赢。


每个人都可以尝试参加ZVM开源项目

谈及对参加ZVM开源项目的看法,宋君帆认为从 0 到 1 的过程是最艰难的,没有参加过开源项目的同学也许会担心自己的水平是不是还太低了,或者说没有途径参与到开源项目中,诸多困难与问题。幸运的是,目前情况已经逐渐好转,宋君帆提到有很多的活动可以帮助大家参与到开源项目中,例如openEuler 社区的开源实习生,开源之夏等。此外,宋君帆表示难以上手开源项目时,可以从基础的任务做起来,帮助社区修复文档,或者去issue里找good-first-issue 尝试着去做,很多社区里的技术大佬都非常友善且愿意帮助新人,大家都可以尝试去参加开源。

不怕不会做,就怕不开始,一旦跨越了0到1 ,后续从1 开始奋斗起来就变得自然。如今,宋君帆已经成为 ZVM 开源项目的核心维护者,并参与到了ZVM的更多功能开发中,入选了湖南大学openEuler技术小组委员,将2023全国大学生计算机系统能力大赛总决赛二等奖收入囊中。宋君帆最后寄语:“相信自己是被开源社区所需要的,大胆的为社区做贡献,你比你想象的更加强大”。




上一条:优秀本科生

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2023 湖南大学