易观CTO郭炜:开源,不是天才的甜点,而是勤奋者的盛宴

点击上方“开源社”关注咱们git

| 做者:徐九github

| 转载自:SegmentFault
apache

| 编辑:Corriesegmentfault

8 月 16 日,ALC Beijing 的首次线下沙龙活动 —— 《开源到底有多难?》在微软大厦如期举行。本次沙龙主要是分享开源开发经验、探讨如何让开源项目更加茁壮成长,以及分享 ASF 管理和运做开源项目的成功之道。
微信

Apache 软件基金会成员、Apache 软件基金孵化器导师、ALC Beijing 发起人姜宁;Apache Flink 社区 PMC member 李钰;Apache DolphinScheduler 项目负责人、易观 CTO 郭炜;ASF Member、阿里巴巴 Tech Lead 孙金城(花名:金竹);Apache APISIX PMC member、深圳支流科技创始人温铭;ALC Beijing member、开源布道师李建盛分别在本次活动中进行了分享与探讨。架构

Apache DolphinScheduler 项目负责人、易观 CTO 郭炜在活动中以《开源,不是天才的甜点,而是勤奋者的盛宴》为题进行了分享,如下为整理后的文字版本。并发


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

咱们的开源项目 Dolphin Scheduler 在去年的 8 月 29 日,正式加入的 Apache 孵化器。在加入的时候,中国一共有 16 个开源项目在 Apache 中,而且大部分都是 BAT 这样级别的大厂或者清华之类的名校项目。运维

咱们这样一个以技术起家的中型公司是如何可以把一个开源项目申请进 Apache 的呢?今天咱们就来说一下这个“屡战屡败,屡败屡战”的故事。分布式

Dolphin Scheduler 不是易观第一个开源的项目。易观第一个开源的项目叫 Backquarter,一个跨云的 Kafka 同步程序。高并发

咱们在完成了这个程序开源之后很得意,我还特地给它起了名字「Backquarter」—— 四分卫。寓意就是这个工具就像是橄榄球赛场上的四分卫,能够抢到球快速带着球稳定的传送给前锋。

我还专门的为了它去各类技术大会大肆宣传,“一顿宣传猛如虎“啊。别说,还真有效果,在几周时间带来了 13 个赞,12 个 fork!

所以咱们开始反思,一腔热血、每行代码都付出努力,而且还进行了开源,为何没人用呢?我也不知道问题出在哪,因此当时请教了无数的人。

有一次请几个大咖边吃火锅边探讨,一个产品大咖指着火锅和我说:

“你知道为何火锅能够流传 1700 多年么?它就是一个产品,有本身的核心理念和调性,热气腾腾锅子,精髓的羊肉、麻酱,还方便易作。而你这东西只是一炉子碳,不是一个产品。你的产品理念是什么?没有明确的产品理念,谁会一直用你这个东西?虽然开源不付费,可是一样须要别人付出努力来使用你的产品,没有产品理念,你就用炭炉子烤个手就算啦。”

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

GitHub 上有成千上万个开源项目,你们能够看一下他们的最终更新时间,大部分都烂尾了。开源不仅是把代码放上去就能够了,开源要有产品的调性,才能够有生命力,像火锅同样有号召力。

就像 Clickhouse 社区的宣传语“Clickhouse 引擎就是快”,或者是像 Apache Dolphin Scheduler 的“工具选得好,下班回家早;调度用的对,半夜安心睡“同样,永远有一个有明确的产品核心理念和“调性”,让它能够一直传播,才能召唤同道者加入你的阵营。

因此说,开源,产品才是基础啊。汲取此次教训以后,半年后咱们基于本身的使用场景,精心打磨了一个 API-Gateway 开源组件 Kong-plus。它是基于 Kong 进行二次开发,具备良好的功能和操做界面,能够帮助小白用户迅速的创建起一套高并发的 API Gateway。

立意很明确吧?调性也是更贴近小白用户,甚至连界面咱们都专门找 UX 设计了一下。开源后咱们也尝试本身传播了一下,但效果仍然不好。我很苦闷,用了公司这么多资源,什么都没作出来。

后来我找我好朋友 Apache Kylin 创始人 Luke 聊天,他跟我分享了一个观点:

“开源是什么?你没有开发者,怎么能叫开源呢?开发者是土壤,开源代码是小芽,没有土壤,芽也会枯萎的。你的代码别人是读不懂的,你须要作好文档,作好社群运营,有土壤了,你的芽长大了才能够长成参天大树。“

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

“Open Source Starts with your 1st Contributor“,这和 Apache 的宗旨“Community Over Code”一脉相承,代码烂了能够重写,而社区太差,再好代码的也会付之东流。

但咱们历来没有运营过开发者,为了咱们的芽有好的土壤,我开始带着 6 个“罗汉”,搞各类社群各类 Meetup,Clickhouse、Presto、Hbase 等等圈里的小伙伴都以为我疯了,是否是要作个大数据峰会和业内的技术峰会分杯羹。

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

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

第二就是运营社区。你要尊重给你社区扔臭鸡蛋的人,他们正是由于须要你,才会在社区里有不一样的意见和声音,爱和恨都是强烈的情感,而冷漠不是。开源社区最怕的是邮件列表和微信讨论群没有人说话,全部人都很冷漠。

第三,开源社区就像是土壤,须要产品经理、开发者持续加料,持续的贡献,开源的小树苗才能够长成参天大树,凝结出果实,让更多的人能够分享。

有人说“在中国只有免费,没有开源”。中国只有 16 个项目能够上 Apache,并且背后都是大厂在支撑的,民间没有开源精神。不少人来了把树就锯走了而不去耕,因此,在中国作开源都只有“雾霾天”。

姜宁老师刚才分享了一张图片,我国做为全球最大开源消费国,ASF 在国内有普遍的群众基础,但全球的 300 多个项目中,只有 19 个项目来自中国。但他没分享另外一张图,就是中国全球的贡献者里,咱们下载的最多的但贡献是倒数的。

但“中国没有开源”这个观点我是不肯意相信的。我相信这一代年轻人,不只仅是程序猿,而是愈来愈多的人,愿意参加到各行各业的非盈利团体当中去,贡献本身的想法、代码、知识,让这个世界变得更加美好。

我相信哪怕咱们这一代人看不到开源的春天,咱们的下一代人也不该该再看到开源的“雾霾天”。因而咱们就积攒了更多的力量,筹备了一年,把咱们本身内部使用的一个产品 —— Dolphin Scheduler 进行了开源。

Dolphin Scheduler 是“分布式易扩展的可视化的 DAG 工做流调度系统”,它的目标很简单,就是“高效、便捷、准确、可靠”的把这些数据和任务,直接到达它最终的目的地。咱们本身的 slogan 叫作“工具用得好,下班回家早;调度用得对,半夜安心睡”。

它有不少很强大的功能,第一个功能可视化的 DAG 图,若是作过大数据的小伙伴知道,若是你要作一条复杂的调度系统时,很头疼的是怎么作这两个之间的 Dolphin,而咱们提供的是可视化的方式,让你很容易的把这个依赖和触发作起来。

第二个是调度的高可用。如今目前有不少的调度工具,但不多有分布式的调度,能保证某台机器宕掉时不影响整个系统。如今大部分系统发生宕掉的状况时,半夜就会接到运维电话,而后起床去把东西修复好。因此咱们的 slogan 里才提到了一句“安心睡”。

第三个,咱们有各类各样的语言类型,自定义查检。第四个是任务自依赖。第五个是排错机制。

整体来说,咱们有八个比较大的功能。咱们有所有的优先级,还有局部的优先级、参数,均可以使用。对于“安心睡”,有依赖、监控、报警这些功能。



作销售的小伙伴,最头疼的就是补数、重跑,咱们也提供了各类各样的补数规则,能够经过各类方式进行察看,直接在界面上就能够把实验作好,操做也更方便,天天能支持很是多的数据量级的东西,稳定的跑起来,这是 Apache(S)的功能。

咱们的开源项目目前在国内用得蛮多,像 IBM、美团、360,银行类的包括工行、平安、招行,也有各类各样的互联网公司在用,包括芒果TV、凤凰、E代驾等等。

咱们在国内也有很是多的用户群,如今有 7 个微信群,三千多人,跟咱们作互动,咱们本身的贡献者,也分布在各类各样的公司里,有 BAT 的、有传统公司的、也有专业公司的人,一块儿贡献咱们的代码。

如今从 GitHub 上看,其实你们都是参与者、贡献者,咱们也欢迎在座的小伙伴加入到咱们的Apache Dolphin Scheduler里面去。

关于将来的方向咱们也作过必定的思考。将来 Apache Dolphin Scheduler 可以作什么?

这其实又回到了开始,一个产品的调性是要作什么。将来的 Apache Dolphin Scheduler 是一个分布式易扩展、高效、便捷。此外咱们也在作数据质量方面的事情,将咱们原来的底层机制、分布式作得更加可靠,还有咱们的 API 调用和一些分层的设计,这些你们能够到 GitHub 上详细了解。

咱们的目标仍是原来最开始的初心,就是但愿你们真的可以晚上安心睡个觉。


回到最开始的故事,我想分享一下当时在这个项目里我印象最深入的一天。

不知道你们是否是看过《美丽心灵》?电影中我印象特别深入的有一个场景,当纳什得到诺贝尔奖的时候,在外面走廊里走着,有一个科学家请他走进了瑞典的皇家教堂,里面是全球顶级的科学家坐在那里,第一个科学家把本身的钢笔拿出来放到他面前,说“欢迎”;第二个科学家把本身的钢笔拿出来,说“欢迎”。

当时 Apache SkyWalking 的创始人吴晟老师把咱们的 Proposal 放到到 Apache 讨论的时候,咱们也是不停的看到全球顶级的架构师,不停的回复着“+1”、“+1”,这种感受会让你以为前面受了那么多苦、作了那么多开源项目,都值得了。

因此每当一我的加入到一个开源项目的时候,可能刚开始只是提一个小的 PR,到后面可能对这个开源项目提你的 Proposal。在这个过程当中,你会发现这些不管是国内的仍是国外的顶尖的架构师,在对你的 Proposal 回邮件最终“+1”的时候,你就是那个“纳什”,这些人不停的在给你投票。

因此对于 Apache Dolphin Scheduler 来说,咱们也算是拨开了一小片雾霾,见到了一小片蓝天。

当咱们回顾 Apache Dolphin Scheduler 屡战屡败、屡败屡战的故事时,有哪些收获呢?

  • 第一个,开源,产品是基础,你要像火锅同样,本身来凝聚你的开发者。

  • 第二个,作开源,社区优先。

  • 第三个,开源是一种精神,是一生的事儿,不须要你的灵光一现,今天写一个代码进去。而是须要你不断的坚持、不断的努力。

因此回到今天的主题,开源自己就不是天才的甜点,今天你吃一口,感受很好,明天不吃了,不是这样的。它是一个勤奋者的盛宴,让你不停的去努力,去加油。

固然了,在中国,开源的时代正在觉醒,须要每一位小伙伴不懈的努力,最终的让开源精神在中国拨云见日,遍地生花。

DolphinScheduler 相关资源:

在线DEMO: http://106.75.43.194:8888/
官网:https://dolphinscheduler.apache.org/

开源地址:

https://github.com/apache/incubator-dolphinscheduler
相关阅读: 活动回顾丨ALC Beijing 首场 Meetup:《开源到底有多难?》:

https://segmentfault.com/a/1190000023675512



活动中更多嘉宾的分享以及圆桌讨论内容,近期会于 SegmentFault 社区以及 ALC Beijing 官方渠道陆续进行发布,敬请期待。

SegmentFault 做为本次活动以及 ALC Beijing 的媒体合做伙伴,一直很是重视开源文化以及开源生态的传播与建设,并于今年 5 月份推出了「SFOSSP - 开源项目扶持计划」,目前已经助力数十余个开源项目进行宣传推广。

后续也将和 ALC Beijing 以及其余开源社区、开源项目团队、开源从业者共同打造开源生态,解决开源过程当中的实际问题,敬请期待。

文末福利

想要得到郭炜在本次活动中的演讲PPT

关注开源社官方微信公众号

并在对话框中回复【郭炜演讲

即刻领取!


开源社简介

开源社是由国内外支持开源的企业,社区及我的,依“贡献,共识,共治”原则,所组织的厂商中立、纯志愿者、非营利的开源联盟,旨在共创健康可持续发展的开源生态体系,并推进中国开源社区成为全球开源软件的积极参与及贡献者。咱们专一于开源治理、国际接轨、社区发展和开源项目。

相关阅读 | Related Reading

工信部携码云 Gitee 入场,国内开源生态建设进入快车道

指控 NGINX 串谋侵吞的诉讼

核心功能所有开源,虽霸榜GitHub,但怎么赚钱?