專訪|王嘉樹:緣起開源之夏,一個北郵學(xué)子的開源見聞

本期開源之夏 2023 人物專訪我們邀請到了開源之夏 2022 結(jié)項學(xué)生——王嘉樹(結(jié)項項目:TDengine?社區(qū)?TDengine Visual Studio Code 插件開發(fā)樹)。
王嘉樹同學(xué)在開源之夏活動中的參與遠不止于項目開發(fā),他全身心地投入到整個活動過程中,自發(fā)組建開源之夏北郵校園社群,通過多種途徑向北郵學(xué)生及新加入開源之夏活動的同學(xué)們介紹活動,積極聯(lián)系開源導(dǎo)師與資深開發(fā)者參與開源布道活動,參與組織北京地區(qū)的開源線下活動和校園行,分享自己的項目開發(fā)經(jīng)驗和心得,助力更多同學(xué)加入開源之夏的大家庭。
鑒于王嘉樹同學(xué)在開源之夏活動中作出的不懈努力和奉獻,開源之夏組委會為王嘉樹同學(xué)特別頒發(fā)「開源之夏活動·校園先鋒證書」。我們希望有更多像王嘉樹同學(xué)一樣的優(yōu)秀人才通過多種方式參與到開源之夏這一有意義的活動中,共同推動開源技術(shù)的發(fā)展和創(chuàng)新,為開源社區(qū)的壯大和發(fā)展做出更為杰出的貢獻。

#?自我介紹
OSPP:請簡單介紹一下自己
王嘉樹:北京郵電大學(xué)電子工程學(xué)院研二在讀。目前對前端和 devops 技術(shù)比較感興趣,去年參與了 TDengine 社區(qū)的開源之夏項目。受 Rick 的影響,現(xiàn)在在校內(nèi)做一個校園開源布道師。
# 參與開源和開源之夏
OSPP:你是如何了解并參與到開源之夏活動中的?有什么特別的經(jīng)歷與體會么?
王嘉樹:最早認(rèn)識開源之夏是因為2021年在實習(xí)中用到了 KubeSphere(在 Kubernetes 上構(gòu)建的一個容器平臺)。在他們的公眾號接觸到了開源之夏這個活動。當(dāng)時看到他們在這個活動中實現(xiàn)了很酷的事情,就覺得這個活動非常的棒,因此在 2022 年一開始的時候就關(guān)注了。
因為關(guān)注的比較早,所以我在預(yù)熱階段就主動給幾位導(dǎo)師發(fā)送了郵件,之前有過社區(qū)接觸的 TDengine 的導(dǎo)師對我比較感興趣,最后也是成功申請到了他們的項目。
我的項目是給 TDengine 編寫一個可以顯示數(shù)據(jù)表的的 vscode 插件,坦率的來講壓力還是非常大的。時序數(shù)據(jù)庫的領(lǐng)跑者 influxDB 的 vscode 插件有十幾位 contributor,已經(jīng)開發(fā)了兩年多了。不過好在對我的要求并沒有 influxDB 的那么高,我只需要實現(xiàn)增刪改查就可以了。當(dāng)時遇到的最大的麻煩是 vscode 插件幾乎沒有什么中文資料,于是只好去啃一手的英文 API 文檔。我之前都是偷懶看B站的那種手把手傻瓜教程,官方文檔總是望而卻步。最后啃完以后發(fā)現(xiàn),官方的文檔其實也并不是那么難懂,理解了文檔,我最后大概用了一個半月的時間就完成了開發(fā)。最后通過提交 PR 的方式完成了這個項目,也認(rèn)識了社區(qū)里 review 代碼的小伙伴。
結(jié)項以后還有一個小插曲。當(dāng)時已經(jīng)收到獎金和證書了,不過我還一直在 TDengine 的客戶群里面。有一天晚上突然有人在群里問到說 vscode 插件出現(xiàn)了一些問題不能用了。我當(dāng)時還是非常驚訝的,因為 TDengine 有十幾個客戶群,我只加了一個,那個插件每天只有幾個下載量,正好有問題可以遇到作者還是一種非常不得了的緣分。于是我就私聊了那位群友,現(xiàn)場開了一個騰訊會議為他解決這個問題。最后發(fā)現(xiàn)問題十分低級,這位用戶的 SQL 基礎(chǔ)不是很扎實,一直試圖查詢一個空的表,因為沒有結(jié)果他認(rèn)為是插件崩掉了實際上并沒有。(我在之后的一個 PR 中修復(fù)了這個問題)雖然問題很簡單,不過排查了很久,結(jié)束時已經(jīng)晚上十一點多了。
其實我是一個非常討厭加班和 On-Call 的人,居然能為了一個 bug 開騰訊會議加班到深夜,現(xiàn)在想來也覺得有趣,或許這就是開源的魅力吧。
OSPP:在參與開源之夏活動的過程中有哪些收獲?
王嘉樹:
收獲1:豐厚的獎金和證書
能收到來自中國科學(xué)院軟件研究所的證書和獎金還是很讓人開心的。獎金的扣稅在第二年是可以退回的,到賬時間要到年底,請耐心等待。

我的證書(2022是很慘的一個電子版,不知道后面會不會有實體的,咱給組委會提過建議了2333)

收獲2:社區(qū)的認(rèn)可
做完的項目后續(xù)有一些小 bug ,后續(xù)再微信上討論 PR 的時候 mentor 直接問我要不要直接去實習(xí)。(當(dāng)天下午 HR 就聯(lián)系了入職事宜,可惜因為時間問題沒有去成)

收獲3:認(rèn)識了開源社區(qū)的小伙伴
認(rèn)識了超多社區(qū)的朋友們。像是?Rick、古思為?、Shuduo Sang?等非常厲害的工程師,還有像是?Fawei?、eVaz?這樣熱情的社區(qū)運營。和他們交流讓我對“開源精神”這件事也有了更加深刻的體會。
還非常榮幸的成為了第一位「開源之夏·校園先鋒」。

OSPP:是什么促使你參與到開源之夏活動的宣傳與推廣活動中的呢?具體做了哪些工作?最大的收獲是什么?
王嘉樹:因為開源之夏是國內(nèi)此類活動的先驅(qū),而且每一屆都辦的很棒。之前就一直在關(guān)注 Google Summer of Code(GSOC),不過這個活動本身是英文交流的所以對國內(nèi)學(xué)生來說不是很方便。我覺得隨著軟件國產(chǎn)化浪潮的興起,開源之夏一定會成為國內(nèi)最好的此類活動。(這不是我一個人的觀點,與很多社區(qū)導(dǎo)師交流的時候他們都很贊賞這個活動)
校園布道的工作主要是拉了一個開源之夏的交流群,以及協(xié)辦了一次開源之夏的線下宣講。群本來是去年不太熟悉形式想大家一起討論的,今年發(fā)現(xiàn)新加了很多小伙伴也想?yún)⑴c開源之夏,于是就盡量的在群里答疑什么,希望有幫到后來的同學(xué)們。因為答疑的也蠻多了,不會的地方就去問 Rick (前 gsoc 和 開源之夏 mentor),就有了把這些東西整理起來的想法。這里給自己打個廣告,我寫了一份開源之夏最佳實踐的文檔,歡迎提 issue 或者點點 star:
https://opensource-f2f.github.io/ospp-best-practice/#/

同時,我們在北郵舉辦了開源之夏校園行的活動,也是吸引了非常多對開源感興趣的同學(xué)踴躍參加。我之前是那種悶頭寫代碼的“好學(xué)生”,辦這個活動也是走了許多彎路,不過成功的辦了起來還是讓人非常高興的。

最大的收獲可能是隱性的吧,不太好衡量。我覺得最大的收獲就是認(rèn)識了很多社區(qū)的好朋友,像是不厭其煩回答問題的 Rick,熱情的 Apache 董事姜寧老師,還有贊助了最佳實踐域名的思為大佬。和他們一起交流,真的有覺得自己一直在飛速成長(我去年在 leetcode 上刷了 500 多道題,打了幾十場周賽,感覺都不如今年幾個月帶來的成長多。
OSPP:你覺得在參與開源之夏、在校園中推廣開源之夏及類似活動的過程中,當(dāng)前學(xué)生參與開源的機遇和阻力分別有哪些?
王嘉樹:其實我對開源的理解也還很淺薄。我覺得學(xué)生參與開源最功利的來講就是可以證明自己,找一份好工作。長遠來看,不管是國家層面十四五首次收入了“開源”,還是像世界范圍內(nèi)的微軟大手筆收購了 GitHub 投入開源陣營,開源這件事絕對是大勢所趨。聽 tison 在社交媒體上提到他以幾個月惜敗最年輕的 ASF Member,我想,同學(xué)們最大的優(yōu)勢就是年輕,開源這個領(lǐng)域煥發(fā)著勃勃生機,真的可以大有一番作為。
我覺得學(xué)生參與開源最大的阻力來自于學(xué)校知識和工業(yè)界知識的不一致。在 KCD beijing 上有幸和吳晟老師交流的時候他也提到了,現(xiàn)在很多技術(shù),特別是云原生領(lǐng)域,工業(yè)界是遠遠快于學(xué)校的。學(xué)生在學(xué)校學(xué)到的知識,要靈活的使用到開源項目中還有很遠的距離,就算是清北的學(xué)生亦然。拿我自己做布道師的經(jīng)歷來說,解決最多的問題是兩類:git/GitHub/Gitee 的用法;導(dǎo)師不回我郵件/怎么問導(dǎo)師申請項目的人多不多。真正是遇到代碼上的問題的,反而是極為少數(shù)的。
OSPP:你覺得參與開源之夏這樣的活動對學(xué)生的職業(yè)發(fā)展和個人成長有何幫助?
王嘉樹:對職業(yè)發(fā)展的幫助絕對是立竿見影的,去年一起參加開源之夏的同學(xué)今年拿了四個大廠暑期的 offer。很多學(xué)生找實習(xí)或者秋招苦于沒有很好的項目經(jīng)歷。開源之夏就是一個絕佳的項目經(jīng)歷,除了有些太水的項目,可比購物網(wǎng)站或者秒殺平臺鍛煉多了。而且可以確定是自己完成,含金量還是有的。
從個人成長的角度來講,能夠接觸到業(yè)界的社區(qū)也是擴展自己眼界的有效途徑。我自己參與開源之夏前是一個非常社恐的人,現(xiàn)在遇到了社區(qū)很多熱心的朋友。盡管社恐不是一朝一夕可以改變的,不過在與人交流方面成長了很多,我想這也是很大的一種成長吧。
OSPP:您對未來開源之夏活動有什么期望和建議?
王嘉樹:像我提了很多次的那樣,一個好看的紙質(zhì)證書!如果能有主辦方軟件所的蓋章和簽字就更完美了。
順便提一個?NebulaGraph 社區(qū)的清蒸小姐姐有一個特別好的社區(qū)運營實踐,給每一個提交了合格申請書但沒有中選的同學(xué)一份安慰獎周邊(大概有結(jié)項禮包一半的內(nèi)容)。我就很不幸的收到了 NebulaGraph 的一份安慰獎,這份安慰獎還是很暖心的哈哈哈。我后面還認(rèn)識了很多 NebulaGraph 社區(qū)的小伙伴,像是思為和我的北郵學(xué)長青藤木鳥,不得不說這份安慰獎還是很暖人的。
# 經(jīng)驗分享
OSPP:最后,請您給其他有意成為開源之夏校園先鋒的同學(xué)一些寶貴的建議和經(jīng)驗分享。
王嘉樹:做為一個源于熱愛的校園布道師,我自己總結(jié)了三條準(zhǔn)則:
1)保持耐心。只是習(xí)慣了課堂的同學(xué)可能會問出“git 怎么使用”這樣低級的問題,這是非常正常的。包括舉辦開源之夏校園行的開源步道活動,學(xué)校的環(huán)節(jié)流程相當(dāng)繁多,也得到了很多老師同學(xué)的幫助。這一切,都需要校園布道師有足夠的耐心和熱情去做這些事情。
2)換位思考。對于參與開源這件事來說,既不是讓人眼花繚亂的文體活動,也不像各類競賽那樣有立竿見影的好處。只是用開源精神去布道是遠遠不夠的。需要確定的告訴身邊的同學(xué),參與開源可以提高技術(shù)、豐富簡歷,甚至還可以認(rèn)識業(yè)內(nèi)大佬或是專業(yè)的老師。換位思考同學(xué)們需要什么,換位思考是很重要的。
3)不斷成長。在學(xué)校里,一個自身就不夠優(yōu)秀的同學(xué)是很難有人愿意聽你布道的,必須保證自己的不斷成長,不斷學(xué)習(xí),布道才會事半功倍。如果一個校園布道師自己就沒有從開源中得到足夠的成長,又怎么讓其他人相信呢?一個不寫代碼或者停止學(xué)習(xí)的布道師,在我看來是不合格的。
END
專欄編輯:大夢
校對:校大山、王嘉樹
制圖:GoodWhite

專欄投稿請聯(lián)系開源小助手:kaiyuanzhixia 或?qū)诰庉嫞篐ungryfish34(備注“專欄投稿”加速通過)