我与Apache DolphinScheduler的成长之路
关于 Apache DolphinScheduler社区
Apache DolphinScheduler(incubator) 于17年在易观数科立项,19年3月开源, 19 年8月进入Apache 孵化器,社区发展非常迅速,目前已有 400+ 公司在生产上使用,代码+文档贡献者近200位,社区用户4000 +人。DolphinScheduler (简称DS) 致力于使大数据任务调度开箱即用,它以拖拉拽的可视化方式将各种任务间的关系组装成 DAG(有向无环图),并实时监控整个数据pipeline的运行状态,同时支持失败重试、重跑、恢复失败、补数等大数据常用操作
主人翁介绍
向偲彪,易观数科高级前端开发工程师,从事前端开发已有 6 年多,目前主要负责前端基础架构及前端前沿技术的研究及前端开发。
一、成长简介
2019 年 9 月,怀着对开源热爱,我非常荣幸加入到易观数科,在公司大力支持开源的情况下,我也加入到 Apache DolphinScheduler 了社区,开启了 Apache 之旅。
刚接手 Apache DolphinScheduler 前端工作时,准备发 1.2.0 版本,当时了解到前端界面已经开发完成,前端没啥工作量,主要是改下前端代码里面的中文注释、测试一下流程能否跑通及修复一些小 bug,差不多就可以发版了。当时我心里不知道是喜还是忧,想着开源项目有这么简单么,当时也没多想,接着任务就开始干,但是我后面仔细了解了一下 DS 前端架构和代码结构,发现并没有想象中那么简单,按照 Apache 规范和引入的插件库协议根本没法发版(https://apache.org/legal/resolved.html#highlevel),icon 图标有自定义 icon 图标、阿里iconfont、font-awesome、ans-ui 自带 icon,插件库有引入公司源的、源文件形式引入、编译包形式引入,插件库等级低等问题,如果 DolphinScheduler 作为一个公司自己使用工具到是问题不大,但要在 Apache 上面发版基本不可能,因为一开始没有考虑这些规范问题,只是把功能实现了就可以啦。经过两个月的努力,将这些问题一一解决,我们在 2019 年 12 月下旬,正式在 Apache 成功发版了 1.2.0,后面陆续发版了 1.2.1、…、1.3.0、1.3.4 等 7 个版本,DolphinScheduler 也算是完成了从 0 到 1 转变,但这些远还没达到我们目标,我们目标是DolphinScheduler 向 Apache 顶级项目前进,给 DolphinScheduler 带来更好的用户体验,让 DolphinScheduler更加的易用。
在这一年多时间里,虽然我的成长非常快,贡献率排到了社区第一,但也给我带来很大压力,在壮大的同时,如何带动更多的开发者加入到 DolphinScheduler 社区,是目前比较棘手的问题,我希望有更多贡献者可以加入进来,尤其是前端的小伙伴非常缺。
二、前端开发计划
目前在 1.3.4 版本发布后,dev 分支增加了不少新特性,前端页面UI替换成了 element-ui,告警组将采用 form-create 插件化、dag 优化、新特性开发及前端架构的调整等开发计划,如果你对这些开发计划感兴趣,可以加我的个人微信号:break60,也可以关注我们公众号:海豚调度,希望有更多的热爱开源小伙伴们加入进来。
三、社区动态
DolphinScheduler 自开源以来,github 现已有 4.9k star,fork 量有1.7k,代码贡献者有 149 名,文档贡献者也有 49 位,微信群用户有 4000 + 人,虽然离我们预期有一定距离,但让我们欣慰的是,我们用户和关注度一直处于递增的状态,在这里离不开社区小伙伴们的长期支持,在此我们非常的感谢你们的支持,特别是一些长期的贡献者,如张伯毅小伙伴,长期为 DolphinScheduler 贡献 pr、社区答疑解惑、博客文档等,还有近期非常活跃程世文小伙伴,为 DolphinScheduler 贡献了不少pr。近期 DolphinScheduler 获得了 2020 年度开源中国最佳技术团队奖,这些都是小伙伴们长期贡献的结果,希望小伙伴们再接再厉,多增加自己的曝光量,我们一起为DolphinScheduler 再创佳绩,为中国开源做出自己的贡献。
Who’s using DolphinScheduler?![在这里插入图片描述](https://img-blog.csdnimg.cn/20210108145853821.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RvbHBoaW5TY2hlZHVsZXI=,size_16,color_FFFFFF,t_70)
参与贡献
随着国内开源的崛起,DolphinScheduler迎来了蓬勃发展,为了做更好用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,青春在开源上留下一点印记
参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:
贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度
社区汇总了以下适合新手的问题列表:https://github.com/apache/incubator-dolphinscheduler/issues/4124
如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html
来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的
如果您想参与贡献,却发现上述方法都搞不明白,也没关系,我们有个开发者种子孵化群,可以添加微信(easyworkflow) 手把手教会您,添加时请说明想参与贡献哈
Apache DolphinScheduler开源社区非常期待您的参与