内容简介:几年前,国内对开源的认知是:我们做不了开源,我们创新力不够。那时候国产开源项目要进 Apache?想也别想!而现在 Apache 里面的国内开源项目一只手都数不过来。这里是二叉树第四季,我们跟你聊聊开源这件事儿,本期嘉宾是一位 Apache 基金会顶级项目里的核心贡献者,他来聊聊成为核心贡献者是一种什么样的体验。“什么时候去做件大事吧!”这是一种什么样的体验?
几年前,国内对开源的认知是:我们做不了开源,我们创新力不够。那时候国产开源项目要进 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 一无所知的小白,要成为一个 commiter,中间还是有很多困难要跨过去的?”
“嗯,当时也没有想很多,其实当时这个目标还是设的挺胆大的。”
“后来我就开始研究 Flink 的源码,大概花了两三个月的时间,把 Flink 的核心源码都看了一遍,一边看代码一遍写博客。” 这些博客文章后来也都成了国内学习 Flink 的优质材料。
那个时候,Flink 社区里国内的参与者还比较少。
“你还记得你提交的第一个 patch 吗?”
“我当时提交的第一个 patch 是 fix 了一个非常简单的 bug,就是打印的日志里面的一个单词写错了。然后当时提交上去,很快,当天,社区的人就帮我 review 了,之后就进入了 master 的分支。虽然它是一个非常小的改动,但是你就觉得你终于进到社区里面去了,你的名字、你的邮箱就显示在了他那个仓库的 contributor 列表里。”
“这件事情就能让你高兴好久。”
随着提交的次数越来越多,社区里的人开始注意到云邪,后来的一次线下技术交流中,Flink 的创始人、dataArtisans CTO —— Stephan 做了技术分享和交流,云邪也有幸参与了,这是云邪第一次与这个层面的技术大牛零距离接触。
“Stephan 先生是我的偶像:)”
“那次就突然发现,原来在邮件列表接触的技术大牛,在线下是这么的平易近人!这让我对社区产生了更大的兴趣。”
“后来又有一次技术交流的时候,他还能够认得我,这件事情我还是高兴挺久的。”
“后来这一年你大概提交了多少次?”
“提交了大概有五六十次,总共有上万多行代码,最大的一个有五六千行。最大的一个来来回回讨论了很久,在邮件列表里面来来回回有上百次的讨论,最后进去了,也是比较开心。”
“2017 年春节的时候,我收到了社区 committer 的邀请信。”
“你觉得成为 committer 对你来说最大的收获是什么?”
“我觉得成为 committer 最大的收获是这个过程中你学到的东西。社区里面有特别多的大牛,社区的代码规范要求也比较高,在这个过程中,你提交的每一个代码都有那么多牛人来指导你,来纠正你的设计,那对你其实是非常宝贵的财富。你这一段时间坚持下来,成为了一个 committer,你再回过头来做一些其他的事情,去做一些其他的设计的时候,你会更加有信心。”
“你觉得作为一个软件工程师最高的状态是怎样的?”
“就像 Linus 一样,把开源写代码当作是人生的一种乐趣,而不是一个谋饭碗的东西,我觉得是非常非常幸福的。”
现在的云邪,也已经进入一个为社区里面的新人传授布道的新角色。12 月 20 日 -21 日,云邪将在 Flink Forward China 2018 (Apache 基金会官方授权,国内首次 Apache Flink 顶级峰会)带来主题演讲。借着这个机会,他也希望邀请更多人来一起关注 Flink,一起参与到 Flink 项目的贡献工作当中。
“开源更多是一种责任。社区对你的认可,是希望你能够对社区有更多的贡献,能够帮助社区更多的去成长。”
“中国的 committer 越来越多,当然也是一件好事了!”
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 开源社区贡献者协议介绍
- SegmentFault 年终盘点 - 2017 优秀贡献者
- 中国软件业正成为开源生态贡献者
- 谷歌是 CNCF 开源项目最大贡献者,红帽次之
- 谷歌是 CNCF 开源项目最大贡献者,红帽次之
- PgSQL 主要贡献者对 PostgreSQL 内置分片功能的看法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Chinese Authoritarianism in the Information Age
Routledge / 2018-2-13 / GBP 115.00
This book examines information and public opinion control by the authoritarian state in response to popular access to information and upgraded political communication channels among the citizens in co......一起来看看 《Chinese Authoritarianism in the Information Age》 这本书的介绍吧!