关于开放源代码:易观CTO郭炜开源不是天才的甜点而是勤奋者的盛宴

32次阅读

共计 4770 个字符,预计需要花费 12 分钟才能阅读完成。

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 屡战屡败、屡败屡战的故事时,有哪些播种呢?

  • 第一个,开源,产品是根底,你要像火锅一样,本人来凝聚你的开发者。
  • 第二个,做开源,社区优先。
  • 第三个,开源是一种精力,是一辈子的事儿,不须要你的灵光一现,明天写一个代码进去。而是须要你一直的保持、一直的致力。

所以回到明天的主题,开源自身就不是蠢才的甜点,明天你吃一口,感觉很好,今天不吃了,不是这样的。它是一个怠惰者的盛宴,让你不停的去致力,去加油。

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

相干浏览:流动回顾丨 ALC Beijing 首场 Meetup:《开源到底有多难?》


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

SegmentFault 作为本次流动以及 ALC Beijing 的媒体合作伙伴,始终非常重视开源文化以及开源生态的流传与建设,并于往年 5 月份推出了「SFOSSP – 开源我的项目搀扶打算」,目前曾经助力数十余个开源我的项目进行宣传推广。

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

正文完
 0