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

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

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

作者 | 郭炜
编辑 | Rainie Liu

大家好,我是易观 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” ;

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

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

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

谢谢大家,我是郭炜。

大搜车技术 VP 沈淦 | AfterShip CTO 洪小军
马蜂窝 CTO 张矗 | 知道创宇 CTO & COO 杨冀龙
UCloud CEO 季昕华 | Charter CTO 黄勇
喜马拉雅 CTO 陆栋栋 | 有赞 CTO 崔玉松
(点击文字查看文章内容)

(0)

相关推荐