高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

开源不是天才的甜点,而是勤奋者的盛宴

  • 2019-12-05
  • 本文字数:4280 字

    阅读完需:约 14 分钟

开源不是天才的甜点,而是勤奋者的盛宴

11 月 24 日,TGO TALKS 的舞台迎来了 6 位经历过严格培训的 CEO、CTO、Team Leader 进行演讲。 TGO TALKS 由 TGO 鲲鹏会组织,职业中、英文演讲培训师将亲临现场,与参与者一起学习演讲的关键技巧,配合充分的练习和反馈,进而短时间内迅速提升演讲功力,最后更有精彩的 TGO TALKS SHOW 。每位分享者按照演讲思维方法论,精心准备了 18 分钟的主题演讲,将从技术人的个人成长以及在时代变革中的定位、团队建设管理方法、创业技巧等方面,讲述当代技术人的知与识。

本文根据易观 CTO & TGO鲲鹏会北京分会会长郭炜在 TGO TALKS 上带来的《开源,不是天才的甜点,而是勤奋者的盛宴》的演讲整理,郭炜通过讲述一家不是以技术起家的中型公司如何把一个开源项目申请进入 Apache 的故事,分享了自己从中得到的收获。以下为郭炜现场分享内容,Enjoy:


大家好,我是易观 CTO 郭炜,也是 Apache Dolphin Scheduler 发起人和 PPMC。


8 月 29 日,Dolphin Scheduler 正式加入 Apache 孵化器。在此之前,中国一共有 16 个开源项目在 Apache 中,而且成功的都是 BAT 级别的大厂,或者清华等知名院校。今天,我就想给大家讲述一家不是以技术起家的中型公司如何把一个开源项目申请进入 Apache 的全过程——那是一个“屡战屡败,屡败屡战”的故事。



实际上,Dolphin Scheduler 不是易观第一个开源的项目,易观第一个开源的项目叫 Backquarter,这是一个跨云的 Kafka 同步的程序。


当时,完成这个程序开源以后,我们都很得意,甚至我还特意给它起了一个名字叫“Backquarter“(四分卫),寓意是希望这个工具就像是橄榄球赛场上的四分卫一样,可以抢到球,并快速带着球稳定的传送给前锋。除此之外,我还为了它,专门去 Qcon、CIO 论坛等地方大肆宣传了一番,“一顿宣传猛如虎“。


别说,还真有效果,在几周时间里带来了 13 个赞,12 个 fork。



问题是直到现在已经过去 4 年了,仍然还是当年那 13 个赞,12 个 fork。


我就开始反思,我们一腔热血,每行代码都付出努力,还把它开源了,为什么没人用呢?我也不知道问题出在哪,请教了无数人。


有一次,我请了几名大咖边吃火锅边探讨,一个产品大咖指着火锅和我说,“你知道为什么火锅可以流传 1700 多年么?它就是一个产品,有自己的核心理念和调性,热气腾腾锅子,精髓的羊肉、麻酱,还方便易做。而你的东西只是一炉子碳,就不是一个产品,你的产品理念是什么?没有明确的产品理念,谁会一直用你这个东西?虽然开源不付费,但是同样需要别人付出努力来使用你的产品,没有产品理念,你就用炭炉子烤个手就算啦。”


我恍然大悟:“原来,开源不光是贡献代码,更需要具有产品的核心理念和‘调性’。”



Github 上有成千上万个开源项目,如果大家关注项目最新更新时间,你可以发现大部分项目都“烂尾”了。实际上,开源不是只把代码放上去就可以了,开源要有产品的调性,才可以有生命力,像火锅一样有号召力,就像 Clickhouse 社区的宣传语一样——“Clickhouse 引擎就是快”,或者是像 Dolphin Scheduler 的“工具选得好,下班回家早;调度用得对,半夜安心睡“一样,永远要有一个有明确的产品核心理念和“调性”,让它可以一直传播、召唤同道者加入你的阵营。


开源,产品也是基础。


吸取这次教训之后,半年后我们基于自己的使用场景,精心打磨了一个 API-Gateway 开源组件 Kong-plus。它是基于 Kong 二次开发,具有良好的功能和操作界面,可以帮助小白用户迅速的建立起一套高并发的 API Gateway。立意明确,调性也是更贴近小白用户,界面都专门找 UX 设计了一下。之后,我们又自己传播了一下,效果如下图:



只有 9 个 star,7 个 Fork,当时,我就觉得我们没有做开源的基因,感觉可以“洗洗回家睡”了。我感到十分苦闷,心想用了公司这么多资源,什么都没做出来。


于是,我找到了我好朋友——Apache Kylin 创始人 Luke 聊天,他说:“开源是什么?你没有开发者,怎么能叫开源呢?开发者是土壤,开源代码是小芽,没有土壤,芽也会枯萎的。你的代码别人是读不懂的,你需要做好文档,做好社群运营,有土壤了,你的芽长大了才可以长成参天大树。“


我又顿悟了:“开源,不是代码开源,真正的开源,是你找到你的第一个开发者。”



这和后来 Apache 的宗旨“Community Over Code”一脉相承,代码烂了可以重写,社区太差,再好代码也会付之东流。


而我们从来没有运营过开发者,为了让我们的芽有好土壤,于是我开始带着一群程序员做了各种各样的社群、Meetup、Clickhouse、Presto、Hbase……圈里的小伙伴都觉得我疯了,说我是不是要做个大数据峰会与 QCon 分杯羹。


这一做就是 3 年,有些很成功,有些不成功。在我一边给社区做贡献的同时,我也收获了 3 个重要认知:


第一个就是社区贡献,真的可以不懂代码,但是你要持续贡献,像 Clickhouse,我真的看不懂俄罗斯黑科技 CPU 指令集的那些代码,但并不妨碍我作为 Clickhouse 中国社区组织者的和推进人。现在连 Linus 大神,都说他已经不是程序员,而是激励他人开发的鼓励师了。


第二个就是运营社区,你要尊重给你社区扔臭鸡蛋的人,因为他们正是需要你,才会在社区里有不同的意见和声音,爱和恨都是强烈的情感,而冷漠不是。开源社区最怕的是,邮件列表和微信讨论群没有人说话,所有人都很冷漠。没错,就是“9 个星,7 个 fork”的那种状态。


第三个就是开源社区可以看做是土壤,它需要产品经理、开发者持续加料,持续的贡献,开源这颗小树苗才可以长成参天大树,凝结出果实,让更多的人可以分享。


有人说,“在中国,只有免费,没有开源。” 中国只有 16 个项目在 Apache,而且都是大厂在支撑的,民间没有开源精神。很多人来了把树就锯走了而不去耕,所以在中国做开源都只有“雾霾天”。



我不相信这个说法,我相信这一代年轻人,不仅仅是程序员,而是越来越多的人,愿意参加到各行各业的非盈利团体当中去,贡献自己的想法、代码、知识,让这个世界变得更加美好。


带着这个信念,我想要去挑战一下世界顶尖的开源社区——Apache 社区。2017 年,我在招聘公司核心架构师高俊时,我和他立下宏愿说,“我会持续支持开源,总有一天我们的开源项目也会进入 Apache 的。”说的很美好,但是 Apache,谈何容易?


它不仅对项目理念、架构要求很高,更要“Community Over Code”,在中国这个开源雾霾天下,究竟能有多少个蓝天呢?


我们筹备了 1 年才把 ETL 调度工具(Dolphin Scheduler)开源出来,当时 Luke 知道我这个事后就问了我一句话:“顶级的开源项目可能是一辈子的事情,他需要你持续贡献,而不是你一时兴起,你准备好了么?”


你参与主导的开源项目,它不像是比赛,赢了 Apache 就完事了;更不像是工作,还能跳槽,退休一说。


后来,我思考很久,我认为我准备好了,我相信哪怕我们这一代人看不到开源的蓝天,我们下一代看到的也不应是开源的“雾霾天”。


于是,我带着小伙伴们一起奋力拼搏,找到种子用户,用心服务,用心呵护我们的小树苗,让我们的这些用户用上开源调度工具之后,真的可以安心睡觉,然后心存感激的去 Github 上去点一个 Star。就这样,我们终于让 Dolphin Scheduler 有 2500 多个星,20 多个开发者愿意加入我们。我以为这可以达到 Apache 的标准了,但其实我又错了。


Apache 最重要的是找到一个 Apache 的 Champion,他是一个 Apache 的 Member,你需要让他相信你这个项目的团队有 Apache 的基因,以此用他的信誉为你背书。


这个难度非常大,为什么人家能够相信你能把这个项目一直坚持下去呢?过去,你的公司没有一个成功的 Apache 项目。而你的公司也不是像那种大厂的公司,凭什么说你的项目不会因为公司战略要求而被废掉呢?我们连续三个月都没有找到合适的 Champion。


我以为,我们又要失败了,但过去 3 年各种社区的持续开源运营,让各位大咖看到了我们对开源的执着和勤奋,最终这些社区长出来的果实,帮我们拨开了雾霾,看到了蓝天。我们找到了相信我们的 Champion,带着我们做好计划书,开始进入 Apache 社区投票程序。


我印象最深刻就是这个投票程序,正如纳什电影《美丽心灵》其中一个场景中一样,就是纳什在诺贝尔奖投票时,在瑞典的国家会堂,有一个科学家邀请他走进会议室。让纳什坐这里,看着全球顶级的科学家们走过来给他投票,第一个科学家,拿着一支钢笔,放到他的面前,对他说“Congratulations!”第二个顶级的科学家走过来,把自己的钢笔放在他的面前“Congratulations!”一样的,Dolphin Scheduler 进入 Apache 投票的那一天,我看到全球顶级的架构师、工程师和大咖们,在看了我们的 Proposal 和项目之后, 用邮件里面不断地在回复“+1”“+1”“+1”“+1”……在那一刻,我觉得以前所有经历都值了。


那个周末,公司的核心架构师高俊拿着他的 Apache 邮箱,就像是拿到奥林匹克竞赛金牌一样,回到家里,给她老婆看,说,“看,这是什么?”我知道,我当年给他许下的诺言,终于兑现了。


我们拨开了这一片雾霾,看了一小片晴天。



Dophin Scheduler 终于成为中国第 17 个进入 Apache 的项目,易观也成为继百度、阿里、京东、华为、清华之后第六家中国公司,也是唯一一个小厂开源项目进入 Apache。


兴奋过后,其实更多的是责任,我们还不太懂 Apache Way,我们还没有发布一个正式的 Apache Release。开源,那是一辈子的事情,进入 Apache 社区,只是一个开始。


听了这个 Dolphin Scheduler 屡战屡败,屡败屡战的故事,大家能想到什么呢?


  • 开源,产品是基础,要像火锅一样来凝聚你的开发者;

  • 开源,社区优先,“Open Source Starts with your 1st Contributor” ;

  • 开源,它是一种精神,它是一个一辈子的事情,它不需要你灵光一现的天才代码,而是需要你不断的坚持和迭代。


开源,它本就不是天才的甜点,而是勤奋者的盛宴。


在中国,开源的时代正在觉醒,它需要大家,我们这一代开源人的不懈努力,才可以让开源精神,在中国,拨云见日,遍地生花。


谢谢大家,我是郭炜。


演讲简介

郭炜,易观 CTO & TGO 鲲鹏会北京分会会长。中国软件行业协会智能应用服务分会副主任委员,全球中小企业创业联合会副会长,人民大学大数据商业分析研究中心客座研究员。




TGO鲲鹏会,是极客邦科技旗下高端技术人聚集和交流的组织,旨在组建全球最具影响力的科技领导者社交网络,线上线下相结合,为会员提供专享服务。目前,TGO 鲲鹏会已在北京、上海、杭州、广州、深圳、成都、硅谷、台湾、南京、厦门、武汉、苏州十二个城市设立分会。现在全球拥有在册会员 800+ 名,60% 为 CTO、技术 VP、技术合伙人。


会员覆盖了 BATJ 等互联网巨头公司技术领导者,同时,阿里巴巴王坚博士、同程艺龙技术委员会主任张海龙、苏宁易购 IT 总部执行副总裁乔新亮已经受邀,成为 TGO 鲲鹏会荣誉导师。


2019-12-05 11:391952

评论

发布
暂无评论
发现更多内容

Vue基础知识整理【建议收藏】

何极光

Vue 基础

在VUE中使用vue-baidu-map获取经纬度和搜索地址

格斗家不爱在外太空沉思

Vue 百度地图 11月月更

大数据培训零基础应该注意什么

小谷哥

深度理解NodeJS事件循环

coder2028

node.js

决策树-分类树

烧灯续昼2002

机器学习 决策树 sklearn 11月月更

云栖大会,一场边缘云计算的「超前瞻」之约

阿里云视频云

云栖大会 边缘云

【网易云信】Sanitizers 系列之 leak sanitizer 介绍

网易智企

webpack热更新原理(面试大概率会问)

Geek_02d948

webpack

北京大数据培训学习怎么选

小谷哥

深入理解Node.js的进程与子进程

coder2028

node.js

怎么从容地拿捏时间?来自富兰克林的启示

无人之路

时间管理

Sanitizers 系列之 leak sanitizer 介绍

网易云信

系统

【云原生】内存数据库如何发挥内存优势

石臻臻的杂货铺

数据库 SPL 11月月更

北京web前端学习哪个机构比较好

小谷哥

编程培训学习零基础应该怎么选择呢

小谷哥

为什么vue3要选用proxy,好处是什么?

hellocoder2029

JavaScript

BNBDao三三复制公排dapp系统开发

开发微hkkf5566

JavaScript刷LeetCode拿offer-双指针技巧

Geek_07a724

JavaScript LeetCode

SpringMVC介绍及创建

鸭鸭yyds

springmvc 11月日更 11月月更

深入剖析nodejs中间件

coder2028

node.js

2022年在线招聘求职行业洞察

易观分析

招聘 在线

一比一手写迷你版vue,彻底搞懂vue运行机制

hellocoder2029

JavaScript

Echarts实现全国地图展示

格斗家不爱在外太空沉思

JavaScript eCharts 11月月更

如何构建并提高自己的核心竞争力?

老张

核心竞争力

大咖说· 联蔚数科|如何做好一个业务中台?

大咖说

阿里云 业务中台 企业云服务

发布自己的第一个npm包

格斗家不爱在外太空沉思

npm nodejs 11月月更

一文读懂Js中的this指向

hellocoder2029

JavaScript

一个非常常见的问题:var、let和const

肥晨

11月月更 js6 js基础

零基础参加web前端培训学习怎么样

小谷哥

开源不是天才的甜点,而是勤奋者的盛宴_技术管理_TGO鲲鹏会北京分会_InfoQ精选文章