毕业一年,我是如何成为Apache项目的Committer

04cf4420e3342bb06346b8167a5e010e.gif

f0363316f4fde334c993bb1efedda9f0.png

| 作者:midnight2014

| 编辑:李明康

| 设计:苏子馨

[Apache ShenYu(incubating)新晋committer介绍]

1

了解开源

去年毕业后,觉得自己的技能还远远不够,所以平常也在不断学习。在学习的过程中,有一位老师提供了参与开源项目的机会。刚开始的想法是:参与开源项目可以提升自己的技能,也利于找工作,抱着这样的想法就加入其中了。

参与的开源项目是Apache ShenYu(incubating),这是一个异步的,高性能的,跨语言的,响应式的 API 网关。在社区交流群中,里面有很多积极的同学,大家积极的讨论Issue和自觉发现Bug。

2

参与开源

我第一个任务是添加测试案例。任务通常是以issue的形式发布,如果你感兴趣,就在issue下面进行回复。幸运的是,官方社区提供了一个操作文档,按照上面的步骤来做就可以,主要是fork项目到自己的仓库,然后拉到本地,在本地创建对应的issue分支,然后才是实际写代码的过程。

第一个任务是为实体类写单元测试,这个也不知道咋弄,也觉得奇怪,实体类还需要写单元测试?那就只能开始上网google了,解决办法是通过反射调用get/set方法,完成之后就将自己写完的代码提交上去了,并且被合并了。这就是我在开源项目中贡献的自己的第一个pr,从此我也是开源项目的贡献者了,哈哈哈。

后面又做了其他的任务。第二次做的时候,又回头看了下自己第一次提交的代码,发现跟我提交上去的不一样了,查看了下git的提交记录,发现自己的代码被committer重构了。仔细看了下自己的代码和重构后的代码,发现:嗯,这样写法是要更优雅一些,学习了,默默膜拜大佬。

在持续的参与过程中,对Apache ShenYu(incubating)项目有了更深的理解,对开源文化也有了更多认识。

Apache ShenYu(incubating)的committer会经常通过邮件、issue、社区群发布任务。我注意到有一个关于gRPC优化的功能还没有人做,然后准备就去领这个任务。但是,到现在我还记得,在当时还是犹豫了很久,这个功能是要做啥都不知道,我能搞定吗?gRPC都没有用过,我还能去优化?在不断的怀疑和否定自己中......这个功能是项目中比较核心的一块,机会难得,要不先试试?最后,终于踏出了一步,去完成这个任务。

接下来的过程,就是如何解决这个问题。这是一个很具体的技术问题,就不展开了,主要说说自己的感受。遇到问题,要先分析分析,这个问题具体是什么,要从哪儿开始解决,现有的方案为什么不行,最后要达到什么结果,还要多与其他人沟通。我在解决这个问题的时候,也经常在跟Apache ShenYu(incubating)的PPMC沟通,讨论自己的方案是否可行。在调研分析的过程中,也时时打退堂鼓,因为这个问题对我来说,还不太好做。不过,Apache ShenYu(incubating)的PPMC也一直在鼓励我:这个没有时间限制,你可以慢慢研究,不明白的地方,还可以跟大家讨论。就这样,一步步的做,不断请教,最终还是解决了这个问题,提交的代码被项目成功合并。

再到后面,开始参加Apache ShenYu(incubating)的周例会,了解其他人在做什么,了解接下来的发展计划,也了解到了更多的开源文化。自己也在Apache ShenYu(incubating)的官网建设中做出了更多的贡献。

3

在Apache ShenYu(incubating)社区的体验

前面一直在讲述自己的开源经历,其实这也是个人的真实内心活动,也是一个成长的过程。自从接触到开源以来,慢慢的感受到了开源的更多魅力,Apache ShenYu(incubating)社区的良好氛围。

  • 社区大于代码:营造好一个好的社区氛围是很重要的,比写代码还要重要。Apache ShenYu(incubating)社区也在不断的改进,不断的完善,尽可能的让新人参与进来,降低门槛;

  • 决策透明公开:不论是社区发展,还是功能开发,还是用户问题都会以邮件列表公开并存档;

  • 平等与尊重:专注于技术社区的交流,你的贡献决定你的权威;

  • 开阔视野:不满足于日常工作中的CRUD,参与开源,你的代码会被review,看看什么是好的代码,了解更多开源项目,提升个人技术能力;

  • 贡献无大小:不论你是完成了核心功能开发,还是编写测试案例,还是建设官网,修改文档,这些贡献都是一样的,都会得到社区的认可。

4

给新人的一点建议

如果有对开源感兴趣,但是还没有参与过的朋友,你们是否存在这些问题呢?

  • 自己提的问题太简单,会不会显得自己没有水平?不是的,大家就技术讨论,自己提出的问题准备充分,有更多背景信息,社区的人是很乐意回复你,给你解惑。

  • 新人不知道怎么参与?社区提供了相关文档,按照操作来,就可以参与进来。也有新手任务可以直接参与。

  • 没有时间啊?社区的发展都是个人投入,没有商业利益,成员都是空余时间参与其中,相信你也可以。

  • 问题太难,不能解决?多和社区的人讨论,这就是在提升自己的技能

相关阅读 | Related Reading

206909a9e87919cd4979d9eb0ed849f3.png

开源软件的痛点

40c5cc489e272590cee82e1c4b0e866f.png

ALC Shenzhen 官宣正式成立了!

4a0295a96a7ed19a507f88516e48eb7c.png

大图书馆 #2 大教堂与集市

开源社简介

开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。

2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近七年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。

78baf41c1e26dfedf631f58320233605.gif

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值