一名开源小白的Apache成长自述

  • 时间:2018-06-20 22:12 作者:ServiceComb 来源:ServiceComb 阅读:285
  • 扫一扫,手机访问
摘要:作者: zhengyangyong编辑:wangkirin今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的一定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得详情给大家,让大家爱上Apach

作者: zhengyangyong

编辑:wangkirin

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的一定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得详情给大家,让大家爱上Apache开源社区,也可以和我一样成长为自己喜爱项目的Committer。


根据个人贡献取得价值(Government By Merit)

回忆我刚参加ServiceComb项目,面对上万行的存量代码,总觉得无从下手,甚至认为开源社区高手如云,假如没有深厚且对口的技术功底,还是不要来掺和了。在这个困难而关键的时候,社区导师给了我明确的指导——不要怕,从小事做起,不要“善小而不为”。于是我静下心来,在Jira上寻觅最简单的任务,主动请缨的第一个任务是支持配置兼容,具体需求是cse.xxx配置项和servicecomb.xxx配置项要具有等同效果,经过一番努力,成功Merge PR ;之后我又接下另一个简单任务,添加一个Annotation使用于支持Json String作为请求参数……

Apache Way非常看重个人贡献,没有贡献,一切无从谈起,与开源软件同行,不仅看你取得了多少,更要坚持长期贡献,这是它与商业软件最大的不同。贡献并不区分大小,无论是添加重大特性,还是小小的改进、Bug Fix和修订文档错误,这些同样是项目茁壮成长的关键。

实际上大多数开源爱好者都是从修订文档错误开始的,例如改正错别字、格式不正确以及订正形容等等,我对ServiceComb的了解也绝大多数来自这方面的工作;这样不但可以够在阅读文档的过程中更快的理解技术细节,也比较容易入手做出贡献。

总之坚持下来,个人积累的贡献慢慢变厚,取得Apache的认可自然水到渠成。


社区驱动(Community)

参加社区是技术成长最快的方式之一,Follow Apache社区的方式有订阅邮件列表[1]加入Gitter聊天室[2];从看大家探讨(探讨邮件一般会用[Discussion]开头),到答复大家的问题(回复邮件和发送Gitter聊天),相信誉不了多久你就可以受益匪浅,并冒出自己的想法,迈出第一步提交第一个PR也就不难了。

ServiceComb作为一个微服务一站式处理方案,融合侵入式、非侵入式场景并支持多语言,解放开发者,帮助使用户和开发者将企业应使用轻松微服务化和上云;大家在这里探讨的话题、发起的投票、以及提交的代码,无不与微服务密切相关。在这个社区中我不但学习到了知识,完成了开源(也包含微服务)小白的蜕变,还进一步接受了开源的洗礼——前辈指导我进步,我将所学传递给新人;这个过程中我结识了很多新朋友,大家互通有无,不但极大的开阔了视野,也提高了自己的社交可以力。

Apache开发者来自全球,社区大多都是使用英文来交流。通过阅读英文资料,用英文在Gitter[2]上与开发人员直接交流,通过英文邮件来讨论问题,在不知不觉中自己的英文水平也大大提高了。


协作开发(Collaborative Development)

这也是我极力推荐参加开源社区开发的重要起因之一,当你提交PR后,无论代码有多么烂,你总可以收获宝贵的Comments,不花钱取得编程大师的指点——教你怎样写出优秀的代码,这是多么合算的买卖!

我在参加ServiceComb社区前,只知道Java基本语法,IDE不熟练(之前一直是使用VS写C#,不用Eclipse和IntelliJ IDEA),不会Git,不懂Maven,还可以有更糟糕的起点吗:)

不使用担心,社区会指导你。我前文提到的第一个简单的任务,花费了将近一周时间,被打回来了四五次后才被Merge;一个PR收获60+ Comments也是家常便饭。这个过程中我的Java水平成长得飞快,不久后就可以独立承担新特性的设计和开发——Metrics[3],当然,完成这个新特性的过程中Committer和其余开发者给予了很多支持,所以,请大胆的提交你的第一个PR,成为一名Contributor吧。


民主,开放和透明(Consensus, Open and Transparency)

在Apache社区里投票至关重要,你能感受到你的建议将被充分重视,我很喜欢这种参加感;大家的探讨和建议也完全公开透明,并且可以够长时间通过邮件列表查询到,沟通效率非常高。所以大家多多参加,肯定可以收获惊喜,从万可以的社区里寻觅自己想要的答案,请记住,当你对某个问题产生困惑,即便是强大的StackOverflow也不会有原作者的回答更为精确

写在最后,我想说从一名开源小白成长为Apache Committer并不是无比艰难又遥不可及的事情,只要要日积月累的在社区中投入一点业余时间,就可以梦想成真。当然最好找到自己感兴趣的社区,这会让这段旅途更加愉快,也可以交到更多志同道合的的朋友。


我能做哪些贡献

你想快速上手,能在JIRA列表中认领newbie的任务[4]。

你规划可以力强,能在邮件列表里为ServiceComb的发展出谋划策[5];

你擅长设计,能为ServiceComb的网站和VI提出自己的意见[6];

你酷爱写作,ServiceComb更是欢迎你来补充文档,将ServiceCenter的英文文档翻译成中文或者许是个不错的上手选择[7]。


写在最后

最后,我想说从一名开源小白成长为Apache Committer并不是无比艰难又遥不可及的事情,只要要日积月累的在社区中投入一点业余时间,就可以梦想成真。当然最好找到自己感兴趣的社区,这会让这段旅途更加愉快,也可以交到更多志同道合的的朋友。


[1] http://servicecomb.incubator.apache.org/cn/developers/subscribe-mail-list/

[2] http://servicecomb.incubator.apache.org/cn/developers/use-gitter/

[3] http://servicecomb.incubator.apache.org/cn/users/metrics-in-1.0.0-m1/

[4] https://issues.apache.org/jira/browse/SCB-655?jql=project%20%3D%20SCB%20AND%20labels%3Dnewbie

[5] https://www.mail-archive.com/dev@servicecomb.apache.org/msg03298.html

[6] http://servicecomb.incubator.apache.org/

[7] https://github.com/apache/incubator-servicecomb-service-center/tree/master/docs


广告时间:我所在的Apache ServiceComb(incubating)正持续招募贡献者,非常欢迎大家加入,让我们一起构建更好的微服务框架。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】web前端开发需要学习哪些技术(2019-09-17 18:00)
【系统环境|】学习web前端开发是正确的选择(2019-09-15 16:55)
【系统环境|】干货整理!零基础html5网站开发学习步骤方法(保存不后悔)(2019-09-10 16:27)
【系统环境|】「前端入门」前端基本概念(2019-09-07 21:36)
【系统环境|】小白入门学习web前端,这些干货不能少(2019-09-05 20:59)
【系统环境|】不是计算机专业,哪个专业更适合学习web前端(2019-09-03 20:31)
【系统环境|】入行web前端开发可以做什么工作(2019-09-02 20:51)
【系统环境|】什么是Web前端呢?为什么说web前端开发人员的薪资高、前景好呢?(2019-08-31 20:55)
【系统环境|】2019年Web前端开发的8个趋势,你知道几个?(2019-08-29 16:23)
【系统环境|】学习web前端,掌握这些,才有底气跟面试官提薪资(2019-08-28 15:23)
手机二维码手机访问领取大礼包
返回顶部