专栏名称: 养码场
养码场,一个技术人职场社交平台。 现有“养码人”80000+,覆盖JAVA/PHP/iOS/测试/运维等领域。80%级别在P6及以上,含P9技术大咖30人,技术总监和CTO 500余人。
目录
相关文章推荐
财融圈  ·  看过来!哔哩哔哩招募财会精英! ·  昨天  
财融圈  ·  看过来!哔哩哔哩招募财会精英! ·  昨天  
企业专利观察  ·  说明书修改超范围,专利局认定专利继续维持有效 ·  3 天前  
企业专利观察  ·  说明书修改超范围,专利局认定专利继续维持有效 ·  3 天前  
51好读  ›  专栏  ›  养码场

成为 Apache 基金会顶级项目的核心贡献者,是种什么体验?

养码场  · 公众号  ·  · 2018-12-17 16:37

正文

编辑 | Sai
视频 | 二叉树团队


几年前,国内对开源的认知是:我们做不了开源,我们创新力不够。


那时候国产开源项目要进 Apache?想也别想!而现在 Apache 里面的国内开源项目一只手都数不过来。今天,我们跟你聊聊开源这件事儿,本期嘉宾是一位 Apache 基金会顶级项目里的核心贡献者。


“什么时候去做件大事吧!”

比如: 成为 Apache 基金会顶级项目里的一位核心贡献者。


成为核心贡献者是一种什么样的体验?下面且听 Apache Flink 项目 Committer、Jark's Blog 的博主——伍翀(花名:云邪)的分享。



刚刚进入阿里的前半年,云邪是失落而迷茫的。


大学时代的云邪在各方面都非常优秀:功课做得好,导师很器重,涉猎过前端、PHP、Ruby、Spark 等技术,做过几个网站赚外快,搭过论坛,还做过一个颇为受欢迎的开源博客主题 Jacman,在 Github 收获了 900 多个 star。


简而言之,是一位学霸。


“后来到研究生毕业的时候,我被阿里巴巴的技术氛围所深深吸引,期望着加入一个技术殿堂般的团队。”


2015 年,云邪进入了阿里的实时计算团队,准备要一展身手、做一番重要的贡献。


阿里是个卧虎藏龙的地方,身边有很多特别优秀的小伙伴, 但是在大公司里,个人更多地是充当着螺丝钉…… 半年的时间很快过去,觉得自己没有达到心中预期的成绩, 云邪的 失落感随之而来。



同样在这一年(2015 年 ,Apache Flink 正式升级成为 Apache 基金会顶级项目。


早在研究生阶段就研究过 Spark 的云邪,对 Flink 项目并不陌生,他看到了机会。 这是大数据领域一个新兴的明星项目,跟实时计算有密切的关系,技术嗅觉告诉他,这可能会是未来大数据技术的发展方向。


这一天,云邪找到主管,说:“我想去研究 Flink。我觉得我们团队需要有一个人去研究这个方向。”


主管很支持,但是给他设定了一个目标: 一年成为 committer




committer英文直译过来是“做过承诺的人”。在一个开源项目里,往往有一个核心的开发者或者开发团队来把握整个项目的发展策略,其他人来给这个项目贡献代码之后,由这个核心团队来审查,决定是否合并。项目越庞大、越重要,贡献的人越多,这个核心的团队就越重要。


在开源项目的团队里,很多决策是基于“信任”机制。一般的开发者来贡献代码,就是一个贡献者(contributor)。每一个贡献上来的代码经过代码审查,经过探讨与修改,符合项目发展方向的就被合并入主线。


当一位贡献者做过很多贡献,核心团队的大部分人认为这是一位很靠谱的贡献者,懂得为自己的投入做出承诺,则该贡献者会被认可成为一位 committer。


一般而言,这是一个相对漫长的过程。项目越是重大,被认可成为 committer 的难度就越大,因为需要获得更多人、更深的信任。


那个时候,Flink 社区里国内的参与者还比较少。云邪 从一个对 Flink知之甚少的小白到成为一个 commiter,这个过程有太多的挑战需要去面对。云邪则坦言:“当时也没有想很多,这个目标还是设得挺胆大的。”


立下“军令状”后,云邪就开始研究 Flink 的源码,大概花了两三个月的时间,把 Flink 的核心源码都看了一遍,一边看代码一遍写博客。这些博客文章后来也都成了国内学习 Flink 的优质材料。



从提交的第一个 patch 到上万行代码。


“我当时提交的第一个 patch 是 fix 了一个非常简单的 bug,就是打印的日志里面的一个单词写错了。然后当时提交上去,很快,当天,社区的人就帮我 review 了,之后就进入了 master 的分支。虽然它是一个非常小的改动,但是你就觉得你终于进到社区里面去了,你的名字、你的邮箱就显示在了他那个仓库的 contributor 列表里。”


这件事情让云邪高兴好久。


随着提交的次数越来越多,社区里的人开始注意到云邪,后来的一次线下技术交流中,Flink 的创始人、dataArtisans CTO —— Stephan 做了技术分享和交流,这是云邪第一次与这个层面的技术大牛零距离接触。


“Stephan 先生是我的偶像:)”


云邪突然发现,原来在邮件列表接触的技术大牛,在线下是这么的平易近人!这让他对社区产生了更大的兴趣。


于是, 后来这一年云邪大概提交了五六十次,总共有上万多行代码,最大的一个有五六千行 ,来来回回讨论了很久,在邮件列表里面就有上百次的讨论,最后进去了,算是一个交代。



"2017 年春节的时候,我收到了社区 committer 的邀请信。"


成为 committer 对于云邪来说,最大的收获在于这个过程中学到的东西。因为社区里面有特别多的大牛,社区的代码规范要求也比较高,在这个过程中,提交的每一个代码都有那么多牛人来指导,来纠正设计,对程序员来说其实是非常宝贵的财富。


坚持下来,成为一个 committer,再回过头来做一些其他的事情,去做一些其他的设计的时候,会更加有信心。


“就像 Linus 一样,把开源写代码当作是人生的一种乐趣,而不是一个谋饭碗的东西,我觉得是非常非常幸福的。”


现在的云邪,也已经进入一个为社区里面的新人传授布道的新角色。 12 月 20 日 -21 日,云邪将在 Flink Forward China 2018 (Apache 基金会官方授权,国内首次 Apache Flink 顶级峰会)带来主题演讲 。借着这个机会,他也希望邀请更多人来一起关注 Flink,一起参与到 Flink 项目的贡献工作当中。


“开源更多是一种责任。社区对你的认可,是希望你能够对社区有更多的贡献,能够帮助社区更多的去成长。“


最后,中国的 committer 越来越多,当然也是一件好事了!



往期推荐


80后阿里P10,“关老板”如何带着MaxCompute一路升级?

开发者无平庸之辈!从独行侠到车间工程师……
求伯君:偶像生于1964年
薪酬保密?一程序员公开了硅谷薪酬秘密!
一名 40 岁“老”程序员的反思……







请到「今天看啥」查看全文