开源之夏专访|带着问题去学习,Apache DolphinScheduler 王福政

开源之夏项目开发如当下的骄阳一般如火如荼推进中,开源之夏人物专访专栏也未停歇脚步,专栏将持续为大家带来开源之夏参与者的系列分享。欢迎已从开源之夏毕业以及正在参与的学生、导师一起加入专栏行动,有兴趣的小伙伴请联系开源小助手:kaiyuanzhixia 或小编姐姐:damengshiye(备注“专栏投稿”加速通过)

本期专访来自 Apache DolphinScheduler Contributor 王福政。

1、自我介绍

我与开源

深入体验

OSPP:你眼中的开源是什么?是什么让你决定参与开源?

WFZ大家好,我是王福政。目前是开源社正式成员,也在白鲸开源担任实习生

起初我对于开源的理解,可能只是一些技术大神把自己的代码公开,或者说作为一些开源项目的使用者从 GitHub 之类的代码托管平台来查阅代码。但实际深入了解之后就会发现,开源不仅仅是代码,更多的是“社区”。说大一点的话,可以是一种文化,或者说是一种信仰也不为过!引用 Florian Effenberger 在《开源 Community 对我来说意味着什么》中的一段话:“我对开源所带来的一切都充满了好奇和兴奋,这不仅仅是在项目和代码,而且也有用户和决策者们的想法和思考,还有那些我目前无法用语言所表达的东西。我们所有人都是受益者,至少是间接的,这都得益于项目自身所达到的成就,以及项目背后驱动它们的人。”

OSPP:在你第一次深入参与开源项目后有什么感悟?

WFZ我对于开源的进一步了解起源于 Wuhan2020 这个开源项目。2020 年初,新冠疫情肆虐,每天看着不断增长的感染人数,当时就在想,为什么我不是学医的,待在家里什么都做不了,似乎捐钱变成了最可悲的方式。不过,一次偶然的机会了解到这个项目。让我意识到作为一名开发者,可以用自己的方式来为社会贡献出一份力量。在参与当中会发现,里面除了有从事开发的大神之外,还有做设计的,还有在校学生等等。这一次,让我明白了原来开源不仅仅是代码,参与开源的方式是多种多样的,开源社区也是丰富多彩的。就像 Apache Way 所说的:Community over code”。

 

2、参与开源之夏

初遇开源之夏

持续输出和学习

OSPP:为什么选择开源之夏?项目成果为你带来了什么?

WFZ由于我本人是不喜欢强迫自己做不太感兴趣的事情,所以对于学校方面的一些比赛都不太积极。但开源之夏不一样,开源之夏在国内是非常有名的开源活动,而且主要面向的是在校学生。其中包含了许多著名的开源社区和项目,作为学生参与进来除了能学习到如何正确参与开源,还能锻炼自己的能力,以及与社区导师沟通。

我在去年参与了 Apache DolphinScheduler 社区的【文档·DolphinScheduler 微内核架构相关文档翻译】项目。

DolphinScheduler 当时处于微内核+插件化的架构更改之中,所有核心功能如任务类型、资源存储和注册中心等都将被设计为扩展点,通过 SPI 来提高系统的灵活性和扩展性。通过阅读相关源码以及进行测试,进一步完善了文档,并进行了翻译。在完成文档工作之外,对系统有了一定的了解之后,还会参与社区的答疑和测试,可以让更多的同学熟悉和使用 DolphinScheduler。

由于 DolphinScheduler 系统本身比较庞大,如果单单只是靠学校的知识是无法深入学习的。我认为比较好的学习方式是带着问题去学习,这样的话,当自身知识掌握的越多,发出的疑问也会越多,从而可以进一步去更加深入,而这一点对于大多数开源项目来说都是所具备的。

 

3、开源项目经历

社区经历

不一样的实习体验

OSPP:开源之夏结束后你有继续参与开源社区吗?对于在校生来说,怎样才能更快更好地融入社区呢?在你参与不同开源组织的过程中,有什么特别的经历、体验或者收获想跟大家分享么?

WFZ完成开源之夏的任务之后,我继续留在了 DolphinScheduler 社区。

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度开源系统。解决数据研发 ETL 错综复杂的依赖关系,不能直观监控任务健康状态等问题。DolphinScheduler 以 DAG 流式的方式将 Task 组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill 任务等操作。

DolphinScheduler 是一个非常友好的社区,对于想参与到项目的同学来说,可以在 issue 列表中寻找 good first issue。然后从中选择适合自己的即可。通常来说,如果是第一次尝试提交代码的同学,可以选择一些比较简单的,通过提交对应的 pull request 来熟悉社区所设置的 CI。在此过程中,会得到社区导师们的帮助和审核。如果遇到了一些问题,可以大胆地在 issue 或者社区的 Slack 中请教,当看见自己所提交的内容被 merge 的时候,那一份喜悦是无法替代的。而且 DolphinScheduler 是一个大数据调度系统,在使用的过程中也会学习到不同类型的任务组件的作用,由此可以进一步巩固自己的技术栈。

除了参与到 DolphinScheduler 之外,我还有参与到开源社 Apache Local Community —— Beijing 的志愿者工作。开源社是由志愿贡献与开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。在参与志愿工作的时候,会发现在这里有更多一点的“社区味”,在这里会认识志同道合的朋友,会获得与开源大牛沟通的机会,更会在思想上碰撞出不可思议的火花!如果感兴趣的同学可以关注一下在今年 10 月 15 日所举办的中国开源年会~

而且还有一点比较有意思的是,开源的推广更像是一种“推坑”。起初自己对于开源是好奇和懵懵懂懂,当通过探索和请教社区导师之后,会有一种拨云见日的感觉,这种喜悦感会抑制不住的和周围的同学分享,而分享的过程在无形之中可能会拉更多的小伙伴“入坑”。

 

4、收获和寄语

受益于开源

OSPP:你认为在校生参与开源有什么优势和收益?为开源之夏的学弟学妹加加油吧!

WFZ我认为在大学阶段接触到开源是一件非常值得自豪的事情。由于大学生有着充裕的课余时间,可以用来选择和学习自己所感兴趣的技术,当自身有了一定的积累之后,进而可以通过开源这一根无形的绳来牵引着,寻找到适合自己的项目。可能在一开始参与过程中有很多顾虑和担心,怕自己所问的所想的太简单,怕自己做的不对等等,但这些都是很正常不过的事情。对于学生阶段而言,有着大量的试错机会,我们要学会在错误中总结,在错误中成长,久而久之会逐渐熟悉项目的业务逻辑。

而且大部分开源项目背后都有相关的商业公司所支持,这也就意味着参与开源可以更有助于拿到自己想要的工作从事开源的项目,肯定是自己所擅长或者是感兴趣的,既然可以变成自己所从事的工作,也是一番不错的收获。开源公司在一定程度上会消除距离上的限制,可以实现远程办公和异步沟通。但这并不会影响办公效率,也正是因为异地的原因,在描述问题的时候会更倾向于描述全面而具体,这样一来也会得到更精确的反馈,减少了在沟通问题上浪费时间。

对于刚参与到开源之夏的学弟学妹们,可以先熟悉所在社区的基本制度,比如使用邮件交流,然后积极与导师沟通联系,除了所选题目的问题之外,还可以请教一些关于开源文化或者项目发展的历程,这些都可以帮助你们更深入了解项目。最后,希望学弟学妹们此次的开源之旅都有所收获,感觉还不错的话,可以继续贡献自己的力量!

 

 

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5283003/blog/5557243