开源之夏专访|“00 后” PMC member 白泽平

开源之夏人物专访专栏进行中,专栏将持续为大家带来开源之夏参与者的系列分享。欢迎已从开源之夏毕业以及正在参与的学生、导师一起加入专栏行动,有兴趣的小伙伴请联系开源小助手:kaiyuanzhixia 或小编姐姐:damengshiye(备注“专栏投稿”加速通过)

本期专访来自 Apache APISIX PMC member,Apache APISIX开源之夏项目导师——白泽平。

 

1、关于白泽平

非典型开源之路

代码质量

关于开源投入的思考

OSPP是在什么阶段开始接触开源的?可以跟我们分享一下最喜欢的开源项目吗?

BZP:我是白泽平,本科学习的专业是工商管理,其实与计算机没什么关系,属于一个非典型 coder,我的学习并非来源于什么教育的环节而是完全来源于兴趣,最早在小学时候参加计算机兴趣小组,那时候学校机房的电脑上有安装 Dreamweaver 软件,一个用于像是 Word 一样的可视化制作网页的软件,第一次有了做个网页的经历,尽管还没有涉及到 HTML 代码的编写。后来从编写静态网页,一直到学习 PHP 编写动态页面,安卓 APP 等经历比较丰富。在使用 PHP 开发的过程中,常使用名为 ThinkPHP 的开发框架,它就是一个使用 Apache License 2.0 的开源项目,在使用它时,了解了一些有关开源、开源协议等方面的知识。

至于最喜欢的开源项目,那我就来吹一下 Apache APISIX 吧,它是一个性能强大的 API 网关,拥有持续的开发维护、活跃的社区环境,为国内外的很多公司团队提供了 API 网关软件的支撑。

 

OSPP你认为提升代码质量有什么途径吗?

BZP:从个人代码编写的优雅程度上来说,多多阅读优秀项目的实现并持续不断的重构打磨可以有助于提升自身在这方面的经验;而从项目整体角度来看,确保一个项目的代码质量最重要的部分我觉得应该是充分的软件测试吧,比如单元测试、E2E 之类的。

 

OSPP开源就是用爱发电”曾引起热议,你怎么看?

BZP:作为开源项目的维护者,凭借爱好的持续投入不可避免,“用爱发电”的情况是一定存在的,如何平衡好投入和收获是开源项目开发者需要思考的。

 

2、关于参与开源之夏

第一届的学生参与者

连续两届的导师参与者

OSPP说一下开源之夏的参与经历吧

BZP:在2020年第一届开源之夏时,我刚刚进入社区,主要参与 Apache APISIX Dashboard 项目的开发,我的引路人琚致远 @juzhiyuan 告诉我有这样的开源活动,问我是否有兴趣参加,在参加我们开源之夏之前,我是对 GSoC 有所了解的,大致知道这样活动的流程,因此没有犹豫报名参加。我觉得对于通过开源之夏这个平台的引导开始进入社区参与开源的同学来说,开源之夏成为他们开源路上的引路者,不然可能在毕业工作多年后也不一定有机会真正参与一个开源项目的代码贡献。

在我自己的项目结项之后我仍然持续参与项目贡献,更加进一步的是,不再局限于 APISIX Dashboard 单一项目的贡献,也参与至 APISIX 主项目中,为其添加了几个插件和些许新功能。

在今年的我作为导师指导的项目中,我们的目标是为最新版的 APISIX Dashboard 项目的 v3 重构版本添加可插拔的用户认证/授权功能。

OSPP角色的转换有带来什么不一样的感受吗?对于参与学生有什么期待?

BZP:角色的转换带来了全新的责任和对自身的要求。期望能够通过这个渠道为我们的社区乃至于整个开源的生态圈带来新鲜血液,发掘出活跃的、持续的参与者。

在我第一次参与开源之夏时,我的导师琚致远给我了很多的帮助与支持,因此我也希望我能带领新一批的学生参与到开源中来。希望每一位参与的同学们都可以完成预期目标顺利结项,并且在那之后继续投身于开源贡献中,即便是在其他社区。

 

3、社区成长经历

关于 Apacha APISIX

社区参与之体验

“00后” PMC member

Apache APISIX 是 Apache 软件基金会旗下的 API 网关软件,它是一个动态、实时、高性能的云原生 API 网关。它具有活跃的开发维护,庞大的贡献者规模,几乎是 API 网关领域中最为活跃的一个项目。

OSPP参与开源之夏之前是否参与过开源社区?参与活动的过程中你对 Apache APISIX 的认识有什么变化吗?在社区参与过程中遇到的印象最深刻的困难是什么?

BZP:在参与开源之夏前我就已经在为 APISIX 社区中的子项目提交过代码了,而在更早之前也曾为一些项目贡献PR,但并没有持续参与某一个社区的经历。参与活动的过程中不可避免的学习了更多 APISIX 项目的相关知识,现在的我已经大致可以了解 APISIX 的运行逻辑等一些更为深入的东西,比起初入社区时有了很大的进步。

参与社区时最常有的操作就是提交代码,而提交代码就会涉及到代码 review,根据各个项目的情况设置,需要至少 2-3 个社区成员进行代码审阅并接受后才可以正常的合并代码,在这个过程中可能需要经过多轮的探讨与修改,解决掉不少问题。有时你可能会觉得,我写这个东西没啥毛病啊,为什么一进入 review 环节就会被挑出这么多问题呢,给你带来很大挫败感,但在这个环节中,你可以了解到很多原来不知道的细节,也是一个很好的学习过程

 

OSPP你认为开源社区的魅力是什么?

BZP开源社区中你可以接触到许多不同背景的开发者,他们可能来自不同的公司,使用不同的技术栈,我们可以结识到许多大牛。同时从另一角度来说,你对社区的贡献,将被永远的记录下来,它不会因为你在或者离开一家公司而改变,这是完全关系到个人的成就,包括你在社区中获得的title,它也将永远跟随着你。

 

OSPP"00 后"的你已成为了 Apache APISIX PMC member,可以为我们介绍一下评选标准和你的进阶史吗?这样一个头衔为你带来了什么、后期又有哪些挑战呢?

BZP我在2021年12月26日正式成为 PMC member,而在一年多前的2020年8月17日我成为了 committer,在2020年4月6日在 APISIX Dashboard 项目提出第一个 issue 与 PR,这一整个的成长历程还是比较长的。

这个过程是从 user、contributor、committer、PMC member 逐步而来的,当你在社区提出第一个PR并且合并后,你就成为了 contributor,你可以在项目的贡献者列表中看到自己提交的 commit 数量、代码行数等信息。当持续一段时间不断地参与社区项目、做出贡献后,贡献者就有成为 committer 的资格,此时需要现有 PMC 成员的提名并投票通过,贡献者就可以被提名为新的 committer,因此 committer 的资格实际上取决于你对社区的贡献程度。更进一步经过更长时间的持续参与,committer 就可以成为 PMC 成员。

PMC member 的头衔提高了自己的知名度,同时,这也使自己的视野更加宽广,学习到更多跨领域的知识内容。对于 PMC member 来说,并不只是具有投票、合并代码的权力,更加肩负着一些专门的任务,参与邮件列表讨论以确认项目方案,发起并推进版本发布投票工作等,这也对自己的能力提出了更高的要求。

 

4、收获和寄语

开源社区中的程序开发,与学生在学校课程中的目标、实现路径完全不同,在学校上课只需要按时上课、提交作业、参与考试即可,但在开源社区中开发一个功能,我们需要与社区成员进行交流,代码提交后需要经过 review 环节,这是我们在学校参与课程或是做自己个人项目中所缺少的一种更加贴近软件工程生产流程的体验。同时如果可以持续参与社区,获得某一项目社区的title或是增加自己在那一领域中的知名度,也将提升学生就业竞争力

希望今年和以后参与开源之夏活动的同学们顺利结项、技术提升,也祝愿开源之夏活动越办越好。

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5283003/blog/5555980