主人翁介紹
hello,大家好,我是郭強,目前是Apache DolphinScheduler的Commiter,擅長大資料olap、大資料調度、RPC開發等,目前專注于大資料領域核心技術研發,
我也是一名開源愛好者,我要講的是我從起始給 DolphinScheduler 做貢獻到近期加入到易觀數科大家庭的故事

遇見DolphinScheduler
我是一個有開源情節的人,開源以不同的方式陪伴了我相當長的一段時間,同樣也給我帶來了一些比較大的改變,
我個人接觸的開源專案是比較多的,但是深度貢獻的并不多,也是一個偶然的貧訓接觸到DolphinScheduler,從此開始了深度貢獻,
選擇對味的社區其實很重要,如同戀愛一般,總需要幾個回合摸索試探才能決定是否合適,DolphinScheduler社區給我的一個最大的感受就是足夠包容,我不認同你,但是我支持你,這是dailidong給我的一個最直觀的感受,你的想法不成熟的時候,作為PPMC,他需要對社區負責,他可能不是很認同,但是他支持你去完善去佐證,這個程序中也是很感謝社區的一些其他伙伴,qiaozhanwei、Tboy、gaojun2048,lgcarrer(license的大佬)、lenboo(核心流程找他就對了)等,一開始我總有種人微言輕的感覺,一般都處在旁聽的狀態,畢竟這些貢獻者基本上都是各大公司的精英人物,后來發現是我多慮了,大神們其實非常平易近人,也是因為這些人,讓我喜歡上DolphinScheduler社區,
社區帶給我的影響
隨著社區的發展,越來越多同學的加入,我們可能(甚至是必然)會在一些設計上存在一些不同的意見,但這其實也是開源的魅力,對于社區來講,也是一種好事,不同思想的碰撞才會導致設計趨近于更加完善,也只有這樣,DolphinScheduler才能更好走向全球,當然,對于個人來講,也是一種提升,就我而言,我之前在社區討論關于通訊序列化方案的想法,我們的導師,吳晟老師問我,為什么不選擇protobuf呢,我以前的認知,只體現在一個很片面的范圍內,但是吳晟老師從更高層次回答了我所謂的protobuf雞肋的地方,這確實打開了我的視野,感興趣的可以去搜郵件串列,我所想要表達的是,開源是一個全球的舞臺,會有各種不同的人進來參與,也正是由于這樣,你的提升才會更大,因為你不再停留在原有的圈子原有的認知去思考,你會接受各種各樣的人來進行review(不僅僅是code,同樣包括一些設計等等),這種程序其實也是在逐漸拓寬自己的專業領域與認知,
DolphinScheduler微內核插件化設計
專案的推進導致架構的變化,捐給Apache之后,意味著你要面向全球的用戶,不同的用戶對于不同場景的需求是不同的,我們更希望的是DolphinScheduler作為一個基礎設施提供給用戶,給用戶提供強大的擴展能力,用戶在DolphinScheduler這個平臺上去快速擴充自己的功能,
在2020年(近期會發版),高俊老師提出了微內核插件化的架構設計,拿alert來講,我們alert發版后是支持五種告警方式,這能夠滿足絕大多數用戶的一個需求,但依然有一些需求是沒辦法滿足的,這個時候用戶想要自己實作其實很簡單,他不需要系統的去了解DolphinScheduler的整個架構,只需要關注alert的擴展介面,對于其他功能來講是完全隔離的(這也意味著你降低了污染傳遞,當你的模塊出現問題的時候,你不會過多影響其他模塊,甚至你可以完全移除你自己的插件),這對于用戶來講,理解成本更低、開發成本測驗成本同樣更低,對于貢獻者來講亦是如此,降低貢獻者門檻,才能使得一個專案走的更遠,曲高和寡,對于開源專案來講同樣如此,DolphinScheduler社區目前有很多其他社區的貢獻者,比如SkyWalking、ShardingSphere、Dubbo、TubeMq等,調度系統更是與其他大資料生態緊密結合,我們也是希望,通過微內核插件化的方式,使得各個領域的專家都可以以最低成本的貢獻進來,
開源的樂趣
姜寧老師講,開源社區其實是一幫對的人才能夠聚在一起,這種程序會讓你很享受,我之前收到過一封郵件,是一個印度貢獻者的,我merge了他參與Apache DolphinScheduler的第一個PR,他寫了大概幾百字的一封郵件,表達對于開源的向往以及詢問我后續參與貢獻的一個途徑,我不太確定這是否會導致他從此踏上開源這條路,成為一個深度貢獻者,但至少對于他來講,這一刻他有了深度參與的一個想法,我當時也是因為首次貢獻被merge之后于是踏上了開源這條路,我至今依然記得我對于Apache的第一個PR,雖然小,甚至從今天看來,那可能是我貢獻的PR中最微不足道的一個,但對于我來講,它為我打開了一扇門,所以其實到今天,我很樂意給那些初次貢獻的貢獻者提供深度的一個幫助,幫他們認識開源、走進開源,曾經有人為我打開了一扇門,那我希望我能夠給更多人的人提供走進這扇門的一個幫助,這可能也是一種屬于開源人的傳承(BTW,強烈推薦ALC BeiJing),
馬斯洛需求層次理論中講到人的高級需求,其實對我來講,通過DolphinScheduler,我達到了自我實作與尊重,
當我寫的代碼,會運行在數萬臺服務器上,影響幾億的用戶,我也是第一次感覺作為個體和這個世界有了更加緊密的一個聯系,這種內心的成就感是非常高的,
當我看到被我merge代碼的同學發朋友圈或者郵件的時候,我內心其實也是非常愉快的,我老板說:優秀的人成就自己,卓越的人成就他人,我可能不是很優秀的人,但如果能夠從一件小事上影響到別人,對于我來講,我也是很愉悅的(成年人的快樂有時候就這么簡單),
尾篇 致下一個貢獻者的你
大俠在ALC Beijing-開源到底有多難中以開源,不是天才的甜點,而是勤奮者的盛宴為題的分享有幾句話是比較觸動我的
“中國沒有開源”這個觀點我是不愿意相信的,我相信這一代年輕人,不僅僅是程式猿,而是越來越多的人,愿意參加到各行各業的非盈利團體當中去,貢獻自己的想法、代碼、知識,讓這個世界變得更加美好,
我相信哪怕我們這一代人看不到開源的春天,我們的下一代人也不應該再看到開源的“霧霾天”,于是我們就積攢了更多的力量,籌備了一年,把我們自己內部使用的一個產品 — DolphinScheduler 進行了開源,
我身邊參與開源的人其實蠻多的,但倘若放到整個公司來講,其實也并不多,上家公司,產研三四百多人,但是是Apache commiter或者PMC的僅僅只有三人,然而我們整個基礎設施一大半是在開源軟體的基礎上進行開發的(其中一大半是ASF的),對于所使用到的開源專案,我們基本都是內部單獨維護了一個分支,這樣做當然有好處,我們可以跑的很快,有什么問題可以很快修復,但是很少有人會把這些貢獻給上游,最終結果導致和上游差異過大,徹底和社區脫節,大家的現狀是很忙,沒有時間思考,大多數人不斷的掉進坑里面再爬出來,但如果每個人都做出一點點努力,那么這樣其實成本是最少的,你貢獻一點,他貢獻一點,那么其實我們的作業量會減少很多,因為社區幫你做了,這也是開源的力量,還是回到那句話,一個人可以走的很快,但一群人可以走得很遠,
熟悉吳晟老師的人都知道吳晟老師喜歡用『各懷鬼胎』來形容開源社區,我想說的是,無論你懷有什么樣的心思(又或者僅僅是單純的喜歡開源),透過開源確實可以幫你達到一些需求的滿足,無論是一份光鮮的履歷,或者一份 good job,或者隱形的人脈、技術實力的提升、多一點談資等等,但這個前提是你去參與,去貢獻,(BTW,我本人其實也是開源的受益者,因為參與開源,我有幸加入了易觀,大多數企業對于開源貢獻者還是比較友好的,吳晟老師的一次分享,有資料顯示:87%的雇主希望招聘到具備開源能力的員工,而55%的開源業內人士表示他們可以輕松地找到一份新作業,)
中國并不缺乏優秀的工程師,缺乏的僅僅是如何正確的認識開源,參與開源,今天的中國開源其實已經非常好了,有很多前輩以及組織在開源這個領域為我們進行鋪路布道,比如開源社、ALC Beijing等,我們所缺少的,僅僅是大家的參與,有一句很老套的話:如果不是現在,那是什么時候?如果不是你,那會是誰?我是CalvinKirs,我在DolphinScheduler社區等你,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/244255.html
標籤:其他
上一篇:springcloud 微服務分布式 flowable 作業流 前后分離vue.js 集成代碼生成器 shiro權限
下一篇:電商秒殺設計解決方案
