成为 Apache 贡献者,So easy!
点击上方蓝字关注 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!的更多相关文章
- 成为 Apache 贡献者,从提交第一个简单 PR 开始!
开源之路,PR 走起 ! ---全球最大同性交友社区 1 fork 以下实例以 incubator-dolphinscheduler 海豚调度为例进行操作 从远端仓库* https://github. ...
- 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 ...
- 提名 Apache ShardingSphere Committer,说说方法
文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info 就在前几天,收到了 Apache ShardingSphere Vote 我成为 Committer 的邮件 ...
- Website Speed Optimization Guide for Google PageSpeed Rules
原链接地址:http://www.artzstudio.com/2016/07/website-speed-optimization-guide-for-google-pagespeed-rules/ ...
- Hbase 0.95.2介绍及下载地址
HBase是一个分布式的.面向列的开源数据库,该技术来源于Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System) ...
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot- ...
- CNCF CloudNative Landscape
cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...
- hbase快速入门
hbase 是什么? Apache HBase is an open-source, distributed, versioned, non-relational database modeled a ...
- CNCF LandScape Summary
CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...
随机推荐
- [第18届 科大讯飞杯 J] 能到达吗
能到达吗 题目链接:牛客5278 J 能到达吗 Description 给定一个 \(n\times m\) 的地图,地图的左上角为 \((1, 1)\) ,右下角为 \((n,m)\). 地图上有 ...
- ROS基本程序实现
0.前言 现在介绍ROS基本程序实现的教程有很多,步骤无非就是建工作空间,编译,创建功能包,创建文件和修改CMakeList,之后再编译.运行程序这几步.但是这些教程中很多在文件夹切换的很混乱,导致会 ...
- Python数据分析--Numpy常用函数介绍(6)--Numpy中与股票成交量有关的计算
成交量(volume)是投资中一个非常重要的变量,它是指在某一时段内具体的交易数,可以在分时图中绘制,包括日线图.周线图.月线图甚至是5分钟.30分钟.60分钟图中绘制. 股票市场成交量的变化反映了资 ...
- Linux挂载iso镜像、配置本地yum源
Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...
- CPPRESTSDK 编译
首先要 git clone这个库git clone git://github.com/Microsoft/cpprestsdk.git然后git 一下 Vcpkg.\vcpkg\bootstrap-v ...
- Camunda BPM的总体架构介绍
前言 Camunda是一个基于Java的框架,支持用于工作流和流程自动化的BPMN.用于案例管理的CMMN和用于业务决策管理的DMN. 本篇文章我们仅考虑BPMN流程引擎,先不涉及CMMN和 ...
- Mybatisi和Spring整合源码分析
一.MybatisSpring的使用 1.创建 Maven 工程. 2.添加依赖,代码如下 <dependency> <groupId>org.mybatis</grou ...
- SAP setting and releasing locks
REPORT demo_transaction_enqueue MESSAGE-ID sabapdocu. TABLES sflight. DATA text(8) TYPE c. DATA ok_c ...
- Redis入门到精通01
Redis入门到精通 目录 Redis入门到精通 一.Redis缓存框架基本介绍 1.1Redis的应用场景 二.Redis的安装方式 2.1Windows操作系统安装Redis 2.2Linux操作 ...
- NC200211 装备合成
NC200211 装备合成 题目 题目描述 牛牛有 \({x}\) 件材料 \({a}\) 和 \({y}\) 件材料 \({b}\) ,用 \({2}\) 件材料 \({a}\) 和 \({3}\) ...