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

  • 时间:2018-06-20 22:12 作者:ServiceComb 来源:ServiceComb 阅读:247
  • 扫一扫,手机访问
摘要:作者: 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)
最新发布的资讯信息
【系统环境|】2019年web前端开发技术框架有哪些(2019-07-20 12:06)
【系统环境|】什么是Web?零基础能不能学Web前端开发?(2019-07-19 07:04)
【网页前端|HTML】为什么学Web前端?选择Web前端理由(2019-07-17 20:28)
【网页前端|JS】Java面经-百度新入职老哥整理近半年学习经验,面试刷题路线!(2019-07-16 22:16)
【网页前端|HTML】最全面的前端开发指南(2019-07-15 12:57)
【系统环境|数据库】零基础如何快速学好大数据?(2019-06-29 12:27)
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
【系统环境|服务器应用】新贵 Flutter(2) 自己设置 Widget(2019-06-11 06:34)
手机二维码手机访问领取大礼包
返回顶部