点击上方蓝字关注 Apache DolphinScheduler

Apache DolphinScheduler(incubating),简称”DS”, 中文名 “海豚调度”(海豚聪明、人性化,又左右脑可互相换班,终生不用睡觉)。DolphinScheduler 正在像它的名字一样,努力成为一个“开箱即用”的灵活易用的大数据任务调度系统。

1

缘起

大概是今年 4 月份的时候,忽然间看到 ShardingSphere 毕业的消息,其中也顺带提到了我们的主角 DolpshinScheduler, 于是去 Github 看了看,堆积的 PR 不多,在 Apache 孵化器中的 JAVA 项目中活跃度居然排行第一!

对于我来讲,活跃度是我判断社区是否能够长久发展的一个很重要的因素,也是决定我是否要参与到贡献中来的一个点,我参与的 apache 项目也是有好几个了,也有遇到过那种 PR 堆积特别多,提交了 PR 长久没人 review,那么我基本就会放弃贡献,中国发起的 Apache 项目 Java 语言类,单从 PR 处理速度来讲,比较快的就是 SkyWalking、ShardingSphere, 以及我们的小海豚,当然还有一些我没注意到,这个只是个人感知。

对于 DolpshinScheduler 的捐献公司 - 易观,其实之前也是有接触过,易观的用户行为分析平台 argo,已经在二维火流量最大的会员营销线中使用,开发对接很方便,另外和传统的分析平台不一样,它的上手门槛很低,我们的一个设计师将它玩的都很溜。

2

First Contribution

第一次贡献的话其实没啥技术含量的,枚举的 values 属于深拷贝,性能不是很好,将它做了下修改,于是首次贡献就这么结束了,和你看到很多 Commiter 的建议一样,我同样也建议首次贡献的同学找一个比较简单的点修改,社区会发布一些easy to fix 的任务,你可以找一个感兴趣的完成它,顺带了解一下项目,项目架构、时序图、流程图你可以在官方网站找到它,一些文章的话你也可以在这个链接中找到:https://github.com/apache/incubator-dolphinscheduler/issues/1123

需要额外注意的点是,当你想要为社区贡献的时候(无论以何种形式),建议先去阅读官方网站,apache 项目一般都有如何参与贡献的文档,这会让你的贡献之路稍微平坦些。

3

持续贡献

@dailidong(大家都喜欢叫他冬哥,本人很和蔼)很鼓励大家去贡献,你有你的想法,找他他永远是第一个站出来支持你的,于是我在做了简单的贡献之后,后面又贡献了 DolpshinScheduler 的微基准测试模块,参与这个模块的贡献的时候,社区的 reviewer 给了很多意见,印象最深的就是 @kezhenxu94 提的建议:“开源项目不像公司项目只需要考虑功能,更多还要考虑协作,全球开发者都有可能加入一起 降低理解成本就对别人友好很多”。

后来贡献社区多了,总想搞波大的,当时要做一个东西,发了邮件,有反对的声音,于是我不断的回复解释 why do,这个过程中,因为牵扯到投票,当时也是很厚着脸皮去找社区的几个老师,@gaojun2048,@dailidong,@qiaozhanwei,@grabywu,高老师乔老师当时给的建议其实蛮好的,有一些点是我所考虑疏忽的,有一些是后续可以增强的,后来投票过程结束了,我的 PR 也被 merge 了。这段故事也就圆满结束。

类似于这样的其实很多,比如之前做IP获取那块,@Tboy 老哥也给了我很多建议,包括历史设计的变迁,后面了解这块后,社区有个同学贡献,我也能很快的给出意见以及及时 review。

而这些事其实对我感触还是蛮大的,做的东西,社区会去判断对或错,同时社区也能帮助你如何做到更好,而如果错了,也会有各种声音告诉你为什么错了。这是社区的力量。

btw,强烈建议订阅 dev 邮件列表,Apache 组织尤其重视邮件沟通,如果一件事没有在邮件中出现,那么就等同于它没发生。订阅邮件,你可以清楚的了解到社区的一个近况,社区未来的规划,以及各个大的 future 的设计等,重要的事情一定是发生在邮件列表里的。

4

未完待续 - 和DolphinScheduler的故事才刚刚开始

社区在不断的发展,壮大,自己也在跟着社区不断成长,对于我来讲,拔节的过程中,喜悦远比痛苦要多得多,听 ALC beijing 的喜马拉雅电台,SkyWalking 的 PMC @kezhenxu94 聊到,如何找到适合自己的社区,那么对我而言,DolpshinScheduler 显然是比较对我味的社区,找到对的社区,会让你很享受这种参与贡献的过程。我的故事才刚刚开始,你的呢?

喜讯

经过最近的一次 Apache DolphinScheduler PPMC 们推荐和投票,郭强(@CalvinKirs) 已正式成为 Committer 成员。非常欢迎更多的伙伴参与到我们的队伍中来,为中国开源崛起添砖加瓦,贡献一份自己的力量。对于愿意持续坚持为开源做贡献的伙伴来说,成为 Committer 或许真的只是时间的问题

戳原文,立刻奔向

DolphinScheduler 
的 github 仓库一起玩耍,来个 star 先收藏也是好的~

成为 Apache 贡献者,So easy!的更多相关文章

  1. 成为 Apache 贡献者,从提交第一个简单 PR 开始!

    开源之路,PR 走起 ! ---全球最大同性交友社区 1 fork 以下实例以 incubator-dolphinscheduler 海豚调度为例进行操作 从远端仓库* https://github. ...

  2. Use Apache HBase™ when you need random, realtime read/write access to your Big Data.

    Apache HBase™ is the Hadoop database, a distributed, scalable, big data store. Use Apache HBase™ whe ...

  3. 提名 Apache ShardingSphere Committer,说说方法

    文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info 就在前几天,收到了 Apache ShardingSphere Vote 我成为 Committer 的邮件 ...

  4. Website Speed Optimization Guide for Google PageSpeed Rules

    原链接地址:http://www.artzstudio.com/2016/07/website-speed-optimization-guide-for-google-pagespeed-rules/ ...

  5. Hbase 0.95.2介绍及下载地址

    HBase是一个分布式的.面向列的开源数据库,该技术来源于Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System) ...

  6. Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot- ...

  7. CNCF CloudNative Landscape

    cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...

  8. hbase快速入门

    hbase 是什么? Apache HBase is an open-source, distributed, versioned, non-relational database modeled a ...

  9. CNCF LandScape Summary

    CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...

随机推荐

  1. 使用 Flutter 与 Firebase 制作 I/O 弹球游戏

    文/ Very Good Ventures 团队,5 月 11 日发表于 Flutter 官方博客 为了今年的 Google I/O 大会,Flutter 团队使用 Flutter 以及 Fireba ...

  2. CF1601F Two Sorts

    CF1601F Two Sorts 给定 \(n\),将 \(1\sim n\) 按照字典序排序,\(a_i\) 表示第 \(i\) 小的数,求: \[\left(\sum_{i=1}^{n} ((i ...

  3. liunx 服务器下面安装mysql8.0

    闲来无事,准备自己搭建一个服务器高点事情,不可避免的就是需要使用到mysql数据库了.在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程 ...

  4. docker安装nginx,配置SSL

    nginx安装 下载镜像并测试 1.docker pull nginx 2.docker images nginx 查看我们拉取到本地的nginx镜像IMAGE ID 3.首先测试下nginx镜像是否 ...

  5. Kubernetes Job Controller 原理和源码分析(三)

    概述Job controller 的启动processNextWorkItem()核心调谐逻辑入口 - syncJob()Pod 数量管理 - manageJob()小结 概述 源码版本:kubern ...

  6. 2021.05.03【NOIP提高B组】模拟 总结

    比较水的一场比赛,却不能 AK T1 有 \(n\) 次,每次给 \(A_i,B_i\) 问以 \(i\) 结尾的 \(A,B\) 的匹配中最大和的最小值 问最大和的最小值,却不用二分. 如果暴力排序 ...

  7. 编程式导航路由跳转到当前路由(参数不变), 多次执行会抛出NavigationDuplicated的警告错误?

    注意:编程式导航(push|replace)才会有这种情况的异常,声明式导航是没有这种问题,因为声明式导航内部已经解决这种问题. 这种异常,对于程序没有任何影响的. 为什么会出现这种现象: 由于vue ...

  8. synchronized下的 i+=2 和 i++ i++执行结果居然不一样

    起因 逛[博客园-博问]时发现了一段有意思的问题: 问题链接:https://q.cnblogs.com/q/140032/ 这段代码是这样的: import java.util.concurrent ...

  9. C# List转String的办法

    2022年5月28日 初始记录 代码: String.Join(",", List.ToArray());

  10. 从零开始实现lmax-Disruptor队列(三)多线程消费者WorkerPool原理解析

    MyDisruptor V3版本介绍 在v2版本的MyDisruptor实现多消费者.消费者组间依赖功能后.按照计划,v3版本的MyDisruptor需要支持多线程消费者的功能. 由于该文属于系列博客 ...