Skip to main content

【从用户到Committer,参与Apache ShenYu社区并不遥远】

· One min read

新晋Committer介绍#

大家好,我叫唐震,目前在多点Dmall中间件工作,工作方向是分布式任务调度和消息中间件。非常荣幸收到Apache ShenYu社区的邀请成为Apache ShenYu的Committer,下面跟大家分享一下我参与Apache ShenYu社区这段时间的成长和建议。

一、初识Apache Shenyu社区#

​ 今年年初,我在调研API网关期间了解到Apache ShenYu网关(以下以ShenYu指代Apache ShenYu (incubating))。ShenYu有着高性能、多协议、易扩展、响应式的特性,并且已经提供了多种插件,开箱即用,非常有潜力,就想着学习一下。

​ ShenYu除了官方提供的文档之外,还有很多社区的小伙伴提供的源码解析,在快速使用的基础上也能快速了解实现原理。社区十分活跃,大家积极上报和主动修复遇见的bug,一起讨论新的想法,帮助新朋友融入社区。起初使用时遇到的问题,提出issue或者在社区交流区中咨询都会有社区的朋友积极解答疑惑。这些文档和社区朋友们帮助我快速的上手ShenYu网关,同时也让我感受到ShenYu社区友好积极的氛围。

二、开源并不遥远#

​ 在刚开始阅读ShenYu源码的时候,看到一处代码有点冗余,可以进行精简,基于此我想建立一个issue,又担心这个优化太小不会被社区接纳。纠结了一下,还是参照之前的issue格式建立了一个issue表达我的想法。一小会儿就收到了社区的反馈,鼓励我提交PR来优化这段代码。我跟着社区的贡献指南,一步一步的完成了这个小优化,新的PR很快就合并了,并在Contributor列表中看到了自己。这是从普通用户向Contributor的转变,虽然很简单,但是对自己的激励很大,也让我感受到开源并不遥远。

​ 这之后,我对ShenYu的代码越来越熟悉,各个模块之间的关系脉络也逐渐梳理清楚,我从项目中学习到了不少优雅的设计思想,期间偶尔会发现一些bug、可以优化的代码和功能,我主动提出issue修复和完善这些问题,社区的Committer每次都会非常细致的review代码,给出一些改进的建议。后面我也参与了社区官网的建设,编写和完善相关文档。

​ ShenYu社区是开放、包容的,经常会发布一些任务,其中就有很多适合新手的任务,其实是为了帮助更多的同学融入到社区来,大家可以关注社区的邮件、issue、微信交流群等领取任务,有一个目标去完成,也能更快的熟悉项目。同时,社区有开放的周例会,大家都可以参加,能够了解到ShenYu目前的功能开发进度,以及社区后续的规划。

​ 在成为Committer后,除了继续跟进处理社区的issue外,我会也更多地主动思考和参与到一些新功能的开发中来,努力为社区做出更多的贡献,与社区一同成长。

三、给新人的一些建议#

对于希望参与到开源的朋友,以下有一些小的建议:

  • 从官方文档开始,先把项目的主要功能使用一下,有一个整体的认识。然后在参考社区的一些源码解析文章,了解内部实现的细节。刚开始可能会有一些小困难,可以从简单的小issue开始,逐步参与到社区的贡献中来。
  • 大胆提出你的想法,不管是代码结构、新的功能、使用上的疑问,都可以提出。贡献的形式不只限于代码,还包括文档、积极参与功能的讨论、帮助其他朋友解答疑问等等。
  • 积极关注社区,领取社区发布的任务,对于实现上的疑问可以多与社区其他同学沟通。