Committer 郭吉偉專訪:做開源不是搞慈善,用開源也不是薅羊毛

ApachePulsar發表於2022-01-26

踩著 11 月的尾巴,Apache Pulsar 迎來了一位新 committer——郭吉偉。郭吉偉目前在 StreamNative 做 Pulsar 主專案與其周邊生態的開發工作,也是 MoP(MQTT-on-Pulsar)的 maintainer。同時,他也是 Apache DolphinScheduler 的 PMC 成員。我們採訪了這位擁有多重身份的開源人,與他聊一聊在 Apache Pulsar 社群的經歷和感想。(以下內容採用第一人稱。)

個人簡介

大家好,我是郭吉偉,很榮幸成為 Apache Pulsar committer 並通過採訪與大家見面。我目前在 StreamNative 做 Pulsar messaging 相關的開發工作,主攻 MoP(MQTT-on-Pulsar),也是 MoP 專案的 maintainer。

“古早” Pulsar 專案愛好者

我應該是國內很早期瞭解到 Pulsar 的那批人了。Pulsar 中文社群在 2019 年成立,然而我和 Pulsar 的緣分可以追溯到 2016 年。當時公司的基礎架構使用的是 RocketMQ,我通過開源瞭解到更多的 MQ 產品,於是早在 2016 年就入門瞭解了 Pulsar 這個專案。

後來我加入陌陌的基礎架構組。當時陌陌用 Kafka 出現了很多運維困難,比如擴縮容、非同步報錯等。我們調研了 Pulsar 並開始部署使用 Pulsar。在此期間我參與了多次社群 meetup,接觸到了許多資深的 Pulsar 開發者與使用者,讓我加深了對專案、社群的瞭解,也奠定了後續成為“全職開源人”的基礎。

全職做開源—— Pulsar 開發者

有人問我為什麼加入 StreamNative 去全身心地圍繞 Pulsar 投入開源。首先因為我看好 Pulsar 技術的前沿性,在雲原生的潮流下,Pulsar 儲存計算分離的分散式架構最符合當下企業數字化需求。

第二個原因源自 Pulsar 社群。因為前公司的系統轉型,以及個人多次參加社群 meetup、直播等活動,我有幸和社群多位開發者和資深使用者面對面交流,尤其在和 Pulsar 中文社群的兩位領頭人翟佳、李鵬輝的交談中獲益匪淺。整個社群技術氛圍濃厚,和一群同樣專注於技術的人交流是一件極度舒適的事情。我也受大家的信念感感染,越發認可 Pulsar 的技術和它為大資料環境下的企業帶來的價值。

做開源不是搞慈善,用開源也不是薅羊毛

有人也會對我的職業產生質疑:既然開原始碼是公開的,那你們不就是在做慈善、讓大家免費薅羊毛嗎?對於這個觀點我是完全不贊同的。

從我個人經歷來談,我有幸每個就職公司所在團隊的技術氛圍都很濃厚,大家不僅僅是開源的使用者,在使用過程中整個團隊都會主動學習並且提交程式碼去參與、支援該開源專案。我從 2016 年開始為開源專案貢獻程式碼,到了 2019 年,我的業餘時間就都用來混跡在開源社群了。我先是參加了 Uber 開源的 uReplicator 專案,完成了 Kafka 生態的多機房遷移;然後成為了 Apache DolphinScheduler 早期專案成員,目前是該專案 PMC 成員;後來又鑽研 ElasticJob,成為 ElasticJob committer;現在又當選了 Apache Pulsar committer。用開源、貢獻開源可以幫助一個人快速提升技術能力,好的專案都是開源的。在開源社群,不論你的身份是開發者還是使用者,都可以從夥伴以及對方身上學到很多東西。

在成為 Apache Pulsar 開發者的近半年時間裡,每天和行業最前沿的開發人員、社群大佬交流,我對專案和訊息領域前沿技術的領悟更加深刻了。作為一名專注於自身成長的技術人,這無疑是極大的成就感與喜悅了。伴隨認知的加深,我也逐漸地可以通過自己的能力更好地為社群提供幫助,並且帶動其他人蔘與專案與生態。目前我主要負責的 MoP 專案就有幾位外部的開發者在積極帶頭貢獻。

資深開源人帶你混跡 Pulsar 社群

相對於其他的系統,Pulsar 是一個純非同步化的程式設計模型,這種模型在國內市場比較年輕,需要通過比較前衛、先進的思維去理解。在 Pulsar 進入大眾視線之前,其他 MQ 儲存模型比較簡單,而 Pulsar 天生雲原生、分散式的架構是一門先進的技術:儲存和 broker 全是分散式,每一個環節都是分散式,都是雲原生概念,理解起來有一定的門檻。

Pulsar 是一個很大的專案,門檻較高,因為雖然它跑起來容易,但用好難。大家都可以輕鬆地很快將整個系統執行起來,然而遇到問題後可能要糾結很長時間。因此我建議大家在接觸 Pulsar 的前期看技術文件。社群有些人吐槽 Pulsar 的文件不如幾個前輩專案,在我看來,Pulsar 的文件可能不適合業務人員,然而從開發和運維的角度看,Pulsar 的文件寫的很棒。

然後要堅持讀原始碼、看 issue,帶著一個 issue 去了解專案,並且通過交流群裡的問答去學習;如果身邊有了解 Pulsar 的人,也可以就近請教大佬。現在比較好的一點是,Pulsar 也有了自己的中文書籍,方便我們來攻克這個專案。

初步的貢獻可以從修復 bug 入手,比如修復 NPE、flaky test 等。Pulsar GitHub 程式碼倉庫有很多帶著 help wanted 標籤的 issue,不失為第一個 Pulsar PR 好的開始。

Committer 感言

我不得不感嘆一下:Pulsar 社群發展太快,進入社群的門檻越來越高了。在今年,Pulsar 社群程式碼活躍度已經趕超了 Kafka,我希望 Pulsar 的程式碼活躍度蒸蒸日上,也希望 Pulsar 也能在大家的共同努力下,成為雲原生訊息領域的一匹遙遙領先的黑馬。

以我現在的能力,距衝擊 Pulsar PMC 成員還有一段距離。我想付出更多的精力,不斷優化自身的技術水平,通過 committer 的身份幫助更多的人蔘與 Pulsar。

加入 Apache Pulsar 社群

參與開源,可以獲得公司及社群內外的認可,結交來自各個領域、志同道合的小夥伴;同時也可以提高個人影響力,促進個人發展。參與開源不是碼農的專屬,社群、文件等各個方面都可以讓大家發揮一技之長。

作為全球性開源專案,截至目前,Apache Pulsar 已擁有近 470 名貢獻者、10.0K+ Star 、2.5 K+ Fork 。我們為大家提供了參與指南,歡迎越來越多的小夥伴助力 Apache Pulsar 專案的不斷髮展與前進。

相關閱讀

關注公眾號「Apache Pulsar」,獲取乾貨與動態

加入 Apache Pulsar 中文交流群 ??

相關文章