走進(jìn)ASF系列 - 如何成為一個(gè)合格的ASF貢獻(xiàn)者(Contributor)
阿里土話
ASF是一個(gè)開源組織,他有自身的文化,阿里是一個(gè)要活好102年的公司,其文化底蘊(yùn)非凡!分享ASF之前總想或多或少的和大家分享一些阿里的味道!
- 給世界帶來(lái)微小而美好的改變
- 把幸運(yùn)種子種到別人身上去,你才會(huì)有幸運(yùn)
- Never, Never, Never Give Up(永不放棄)
沒錯(cuò),阿里人看到上面的三句話會(huì)倍感親切,因?yàn)樯厦嫒涠际?“阿里土話”。雖然是阿里土話,但我認(rèn)為其有放諸四海而皆準(zhǔn)的魅力!這些話,同樣適用于激發(fā)和指導(dǎo)你成為合格的開源貢獻(xiàn)者!不經(jīng)意間看了一眼窗外,心里開心默笑,其實(shí)阿里每個(gè)角落都充滿這阿里氣息:
緣
其實(shí)每個(gè)人參與社區(qū)貢獻(xiàn)的機(jī)緣不一樣,但無(wú)外乎兩種:
- 偶發(fā)事件 - 由于參與某項(xiàng)工作,無(wú)選擇的就參與了某個(gè)開源項(xiàng)目。(我就是這種,很自然的就跟著 蔣曉偉 老師踏入了Apache Flink之旅)
- 因愛而求 - 每個(gè)碼農(nóng)都有一顆想讓自己的的代碼被應(yīng)用全球的夢(mèng)想追求!這夢(mèng)想的實(shí)現(xiàn)要依托有開源的力量,ASF完全可以為你營(yíng)造最好的實(shí)現(xiàn)夢(mèng)想的環(huán)境~
給個(gè)理由
也許目前的你既沒有工作的需要,也沒有產(chǎn)生對(duì)開源產(chǎn)生任何愛意❤️。但了解一件事情總沒有壞處,了解參與開源的利好,也許明天你就踏上了開源之旅!
- 順勢(shì)而為 - 如果你是一個(gè)碼農(nóng),那么參與開源是一種must to have的事情,目前開源領(lǐng)域形式大好,各大公司紛紛擁抱開源,比如:Google,Alibaba,Hortonworks, Tencent, Facebook等等。參與開源無(wú)疑是擴(kuò)大了生存的空間。
- 業(yè)界身份證 - 參與開源就是在一點(diǎn)一滴的描繪你的業(yè)界身份證,你的開源貢獻(xiàn)可以公示全球,由一行代碼,一句文檔的貢獻(xiàn),到成為某個(gè)項(xiàng)目的管理者(PMC成員),到成為 ASF Member 甚至成為董事會(huì)成員,這些就像你曾經(jīng)為之努力的學(xué)士學(xué)位,碩士學(xué)位,博士學(xué)位一樣為世人所認(rèn)可!不夸張的說(shuō),某些情況甚至比學(xué)位證書還實(shí)用!
- 無(wú)國(guó)界導(dǎo)師 - 參與開源還有一個(gè)特別特別特別重大的利好,就是你可以在你所關(guān)注的領(lǐng)域?qū)ふ业阶詈玫膶?dǎo)師,所謂最好,不是牛,最好是最適合!所謂“三人行,必有我?guī)?rdquo;,社區(qū)交流最初你會(huì)感覺和業(yè)界大牛無(wú)法溝通,因?yàn)樗囊痪湓挘枰纸獬墒洳拍茔裸露?,甚至不?這個(gè)不是大牛原因,也不是你的原因,是大牛對(duì)你水平的了解不足導(dǎo)致,但即大牛便了解你的水平,也很難讓大牛將一句話分解成十句甚至百句話討論你關(guān)注的問題,不是大牛不愿意,更多是我們不好意思:)。所以說(shuō),要“門當(dāng)戶對(duì)”找到 社區(qū)比你水平略高,同時(shí)你也能給人家一些反哺的貢獻(xiàn)者長(zhǎng)時(shí)間交流。目前ASF有7600+的Committer,就算是某一個(gè)項(xiàng)目,也應(yīng)該有幾十個(gè)Committer和數(shù)以百計(jì)的貢獻(xiàn)者,總會(huì)遇到可以和你一起進(jìn)步的小伙伴!雖不曾謀面,卻已熟若親朋!
- 全球性分享 - 目前ASF項(xiàng)目有140多個(gè)領(lǐng)域,參與者覆蓋230個(gè)國(guó)家。如果你小有成就,想將你的知識(shí)分享給更多的人,想利用的開源知識(shí)幫助更多的人,那么無(wú)疑ASF為你提供了這樣的平臺(tái)!你又何嘗不能成為上面“無(wú)國(guó)界導(dǎo)師”中的一員的導(dǎo)師呢!
- 最佳實(shí)踐 - 不知 - 了解 - 有方案 - 最佳方案,開源是一個(gè)智慧的集結(jié)地,一個(gè)功能可能有幾十種實(shí)現(xiàn)方式,這并不是一兩個(gè)人或者某一個(gè)小團(tuán)隊(duì)能考慮到(ALL)的,然而在開源一個(gè)問題,你在考慮的同時(shí),可能在世界的某個(gè)角落,某些角落還有其他人或團(tuán)隊(duì)在考慮解決方案,當(dāng)大家共享方案的時(shí)候,智慧的火花將會(huì)產(chǎn)生!
- 領(lǐng)導(dǎo)力塑造 - ASF有公司和項(xiàng)目的治理方式,不論你目前是否一個(gè)(技術(shù))管理者,參與開源貢獻(xiàn)你都有機(jī)會(huì)挖掘你自身的領(lǐng)導(dǎo)力。 TL,可以是 Team Lead,也可以是 Tech lead,作為一個(gè)碼農(nóng),往往對(duì) Tech lead 更加情有獨(dú)鐘!在開源貢獻(xiàn)一向遵循 “正確的就是擁護(hù)的,正確的就是堅(jiān)持的”!如果你一貫的在社區(qū)發(fā)出自己獨(dú)到的見解(管理&技術(shù)),那么勢(shì)必會(huì)塑造你獨(dú)特的領(lǐng)導(dǎo)力,社區(qū)領(lǐng)導(dǎo)力是內(nèi)心驅(qū)動(dòng)的影響力,所以的擁護(hù)者都是無(wú)外界壓力,無(wú)情感偏見,發(fā)自內(nèi)心的崇拜贊許!如果你能達(dá)到這樣的成就,將勝過(guò)你職業(yè)的晉升,當(dāng)然這個(gè)也會(huì)促進(jìn)你的職業(yè)晉升!
- 給世界帶來(lái)微小而美好的改變!毋以善小而不為,小善舉大美好!有的時(shí)候一個(gè)文檔優(yōu)化,甚至一個(gè)typo的貢獻(xiàn)都會(huì)讓成千上萬(wàn)的人獲益。更有意思的是很多開源貢獻(xiàn)者都是從文檔貢獻(xiàn)開始的 :)一個(gè)很有意思的統(tǒng)計(jì),28%的開源貢獻(xiàn)來(lái)自偶然的文檔改進(jìn)。
Casual contributions are far from being trivial. After a manual inspection of a sample of casual contributions, we found that although 28.64% of them are related to grammar and typo fixes.
- 認(rèn)真生活,快樂工作 - 參與開源不僅僅是工作或業(yè)余愛好的演練臺(tái),也是生活的一部分,他會(huì)讓你在快樂工作的同時(shí)尋找到“臭味相投”的摯友!通過(guò)參與Apache Flink項(xiàng)目我也交到了幾位德國(guó)好朋友,甚至有些好朋友還成為了我的兒子的好朋友!:)看看下圖有沒有你和我共同的朋友?世界很小~?
給個(gè)原則
沒有規(guī)矩,不成方圓,如果上面的理由足夠打動(dòng)你,那么我再給你一些參與開源的原則:
- 給世界帶來(lái)微小而美好的改變:始終堅(jiān)信滴水成河的道理,社區(qū)貢獻(xiàn)在于積累,貴在堅(jiān)持,不因善小而不為,任何貢獻(xiàn)都會(huì)使得社區(qū)變得更加美好!
- 公開溝通 - 參與開源的一個(gè)重要的原則就是公開溝通,任何問題不論大小,都要在可以被追溯,可以被任何感興趣的人查閱的方式進(jìn)行討論。比如:郵件列表,JIRA上,PR中等。切記不要單獨(dú)私信討論,公開討論有助于更多的人參與,而且還確保了在討論過(guò)程中一些無(wú)意識(shí)的錯(cuò)誤可以很容易被發(fā)現(xiàn)和糾正。
- 保持尊重 - 社區(qū)的任何貢獻(xiàn)都是以自愿為原則的,不能強(qiáng)迫任何人做事情,也不要無(wú)禮貌的敦促任何人做事情的進(jìn)度(除非特殊情況)。更不能因?yàn)橐庖姴煌ň瓦M(jìn)行人身攻擊,不要以為這好笑,其實(shí)是真實(shí)發(fā)生過(guò)的!尊重是相互的,你給予我春風(fēng),我自送你一縷芳香!大家努力營(yíng)造開心和諧的社區(qū)氛圍。
- 簡(jiǎn)明扼要 - 我們可以大膽的在社區(qū)提問,追問!但切記在提問之前將自己的問題反復(fù)思考,這是對(duì)自己負(fù)責(zé)也是對(duì)其他社區(qū)貢獻(xiàn)者的尊重!因?yàn)槟愕囊淮螁栴}描述可能將被數(shù)百人閱讀。寫一封簡(jiǎn)明扼要的郵件意味著人們可以盡可能有效地理解你的意圖。如果需要詳細(xì)說(shuō)明,請(qǐng)考慮添加摘要。也就是,你的問題描述要簡(jiǎn)明扼要(這個(gè)和能力有關(guān),盡自己最好就行),盡量寫清楚上下文,你在什么情況下,遇到了怎樣的問題,如何問題再現(xiàn)等等,你的描述越簡(jiǎn)明扼要,越清晰完整,越容易被人取得別人幫助!
- 前進(jìn)一小步,文明一大步 :)這可不是 WC 用語(yǔ),而是確確實(shí)實(shí)的利他原則。阿里巴巴國(guó)際化戰(zhàn)役中有一個(gè)要求,就是參與國(guó)際化建設(shè)的阿里人員,到哪個(gè)國(guó)家,就必須用當(dāng)?shù)氐恼Z(yǔ)言與當(dāng)?shù)乜蛻魷贤?。這體現(xiàn)了足夠的尊重,體現(xiàn)了足夠的服務(wù)前的準(zhǔn)備和付出!我們?cè)陂_源社區(qū)問問題也是一樣的,不能遇到問題,不加思索的就向社區(qū)提問,在提問之前要先進(jìn)行各種嘗試,各種資料的查閱,社區(qū)已有問題的查閱,同時(shí)帶上自己的觀點(diǎn)去提問,讓想幫助你的社區(qū)人員看到你在設(shè)個(gè)問題上的努力。
- 把幸運(yùn)種子種到別人身上去,你才會(huì)有幸運(yùn):我們不僅僅是問題的提出者,慢慢我們自己也變成問題的解決者,由社區(qū)求助者變成社區(qū)救助員!努力尋求自己反哺開源社區(qū)的機(jī)會(huì),為他人付出也是為自己積累!所謂 “為自己,照亮他人!”。假如你相信來(lái)世今生的話,這里有個(gè)故事分享給給你:
從前有兩個(gè)要投胎轉(zhuǎn)世的人,在投胎之前有機(jī)會(huì)選擇投胎之后是做“一生向別人索取的人”還是做“一生施惠于他人的人”,選擇了“一生向別人索取的人”的那個(gè),投胎做了 乞丐,而選擇了“一生施惠于他人的人”的那個(gè)做了富翁!
所以做社區(qū)也一樣,努力做施惠于別人的人,就是在社區(qū)德高望重,具有領(lǐng)導(dǎo)力的人!:)
- Never, Never, Never Give Up(永不放棄):理想總是美好的,現(xiàn)實(shí)總是骨感的,參與社區(qū)的人都具備熱情,耐心的品質(zhì),但社區(qū)的問題太多,需要得到幫助的人也太多,相同問題千人千面,意見不一致也是司空見慣的,切記不要以為提的問題都會(huì)很快有人幫忙,你提交的PR很快有人Review。每個(gè)大的社區(qū)貢獻(xiàn)都需要如下圖所示的投票決定,也許你的貢獻(xiàn)被接受,也許你的貢獻(xiàn)被拒絕,但請(qǐng)不要太在意一次的貢獻(xiàn)成功與否,無(wú)輪遇到什么困難,挫折,都要 Never, Never, Never Give Up(永不放棄),因?yàn)轳R總說(shuō)過(guò) “今天很殘酷,明天更殘酷,后天很美好,但是絕大部分人是死在明天晚上,看不到后天的太陽(yáng)”。 只有堅(jiān)持到最后的人,才能享受到和煦的陽(yáng)光!
如何開始
最常見的參與Apache貢獻(xiàn)的方式是選擇一個(gè)你感興趣的項(xiàng)目,因?yàn)閻酆貌攀亲詈玫脑瓌?dòng)力!我曾經(jīng)用一句話描述過(guò)ASF:“ASF是一個(gè)與阿里巴巴同齡(成立于1999年),有完整的組織(董事會(huì))架構(gòu)管理,以軟件(140個(gè)領(lǐng)域)技術(shù)全球(覆蓋230個(gè)國(guó)家)共享為使命的公益組織”,里面提及 ASF有140個(gè)技術(shù)領(lǐng)域總有一個(gè)你感興趣的!
ASF 項(xiàng)目目前分為兩大類:
- 孵化器項(xiàng)目 - 是正在孵化的項(xiàng)目,也就是,在成為ASF 頂級(jí)項(xiàng)目之前,需要在ASF進(jìn)行孵化,當(dāng)從孵化器畢業(yè)之后就會(huì)成為Apache頂級(jí)項(xiàng)目。參與孵化器項(xiàng)目的好處是你能對(duì)項(xiàng)目有更早的參與,有多細(xì)節(jié)變化的了解,也很容易得到該項(xiàng)目的重視:),目前ASF所有孵化器項(xiàng)目列表請(qǐng)這里查閱!
- Apache 頂級(jí)項(xiàng)目 - 這是已經(jīng)從孵化器畢業(yè)的Apache 頂級(jí)項(xiàng)目,頂級(jí)項(xiàng)目的運(yùn)作一般已經(jīng)完全符合Apache Way。直接參與頂級(jí)項(xiàng)目的好處是能開始就接觸很規(guī)范的社區(qū)貢獻(xiàn)方式和更高的質(zhì)量代碼,有更多的學(xué)習(xí)資料和更多的參與者。目前Apache 頂級(jí)項(xiàng)目列表,可以查閱這里!
一旦選擇參與某個(gè)項(xiàng)目,不論在什么情況下,你都要聽從自己的直覺,做你認(rèn)為更好或者不同的事情。永遠(yuǎn)都不忘初心,堅(jiān)持自己所堅(jiān)持的~~,也永遠(yuǎn)牢記上面的原則,其中你會(huì)發(fā)現(xiàn)“給世界帶來(lái)微小而美好的改變”非常受用。假如,你在查看文檔時(shí)候,發(fā)現(xiàn)了某個(gè)鏈接的錯(cuò)誤或者typo錯(cuò)誤。假如,你在使用產(chǎn)品的過(guò)程中發(fā)現(xiàn)了問題,請(qǐng)不要坐視不理,徑直繞開,或者向社區(qū)提出問題,等待其他人來(lái)修復(fù),因?yàn)檫@正是你貢獻(xiàn)社區(qū)的好機(jī)會(huì),解決這些你能看到的問題,因?yàn)椋诮鉀Q這個(gè)問題的同時(shí),也許會(huì)有新的問題被你發(fā)現(xiàn)~~ 進(jìn)而你就入道啦:)
準(zhǔn)備工作
目前ASF開源項(xiàng)目都是在github上面托管的。所以正式參與ASF開源貢獻(xiàn)之前你要做一些準(zhǔn)備工作:
1. 創(chuàng)建一個(gè)Github賬號(hào)
點(diǎn)擊創(chuàng)建,為了演示,我創(chuàng)建了一個(gè)“pyflink”賬號(hào) :)
2. Fork 你要參與的項(xiàng)目
以Apache Flink為例,如下:
點(diǎn)擊 “Fork” 之后,會(huì)在你的github賬號(hào)下出現(xiàn)一個(gè)flink項(xiàng)目,如下:
3. Clone 代碼到本地
做代碼貢獻(xiàn)之前需要Clone你剛才fork的Flink代碼到你本地,以備提交第一個(gè)社區(qū)貢獻(xiàn)PR!
4. 閱讀項(xiàng)目貢獻(xiàn)說(shuō)明
一般具體項(xiàng)目會(huì)有介紹如何參與該項(xiàng)目的貢獻(xiàn),以Apache Flink為例 就有關(guān)于如果參與Flink社區(qū)貢獻(xiàn)的說(shuō)明, 比如:
Apache Flink is developed by an open and friendly community. Everybody is cordially welcome to join the community and contribute to Apache Flink. There are several ways to interact with the community and to contribute to Flink including asking questions, filing bug reports, proposing new features, joining discussions on the mailing lists, contributing code or documentation, improving the website, or testing release candidates. |
詳情查閱這里。
5. 訂閱郵件列表
社區(qū)問題大多會(huì)在具體項(xiàng)目的社區(qū)郵件列表里面進(jìn)行討論,所以郵件列表是了解社區(qū)動(dòng)態(tài)最重要的輸入,以Apache Flink 為例,需要訂閱 開發(fā)郵件列表和用戶郵件列表,如下:
首先,點(diǎn)擊上面的link,會(huì)引導(dǎo)你給 xxx-subscribe@flink.apache.org 發(fā)送郵件。然后你會(huì)收到官方確認(rèn)郵件。最后你回復(fù)確認(rèn)郵件之后還會(huì)收到一封歡迎郵件,也就意味這你訂閱成功了!注意上面每個(gè)郵件列表都需要單獨(dú)發(fā)起訂閱。
OK, 到這一步你已經(jīng)完成了為Apache Flink做貢獻(xiàn)的準(zhǔn)備工作了:),接下來(lái)就要尋找做貢獻(xiàn)的機(jī)會(huì)了!
創(chuàng)建issue或者解決issue
目前大多數(shù)ASF項(xiàng)目的問題采用JIRA管理(當(dāng)然也有例外),我們以Apache Flink為例,當(dāng)用戶發(fā)現(xiàn)的問題可以在這里查閱。 如果你發(fā)現(xiàn)有你感興趣的issue,不要猶豫,直接在JIRA下放留言,你想幫忙解決這個(gè)問題,并share你解決問題的方法,這樣社區(qū)會(huì)有Committer來(lái)與你溝通了!以一個(gè)之前我向Flink提交的issue為例 FLINK-13471:
當(dāng)發(fā)現(xiàn)有人創(chuàng)建了issue,但還沒有分配給任何人,你就可以嘗試幫助解決這個(gè)問題,在完成開發(fā)后提交PR。
當(dāng)然,如果你發(fā)現(xiàn)了問題,如果是你確認(rèn)的小問題,可以直接創(chuàng)建新的issue, 如果你對(duì)這個(gè)問題并不確定,可以在開發(fā)郵件列表里面就像郵件討論。當(dāng)確認(rèn)問題之后,再創(chuàng)建issue。
1. 提交PR
不論你是修復(fù)文檔還是貢獻(xiàn)代碼,都建議在你剛才fork的項(xiàng)目中創(chuàng)建一個(gè)用于提交PR的分支,以我上面的為例,我會(huì)本地創(chuàng)建一個(gè)名為L(zhǎng)INK-13473-PR的分支,當(dāng)完成開發(fā)之后,將分支push到自己的倉(cāng)庫(kù),就可以創(chuàng)建PR了,如下:
點(diǎn)擊“Compare & pull request”,進(jìn)行PR創(chuàng)建,如下:
創(chuàng)建PR,有幾個(gè)值得注意的點(diǎn):
- 確保你的分支和官方git的master分支沒有沖突,也就是如圖顯示“ Able to merge.”。
- 要對(duì)PR所要解決的問題,在Title里面簡(jiǎn)明的體現(xiàn)出來(lái),比如“ [FLINK-13471][table] Add FlatAggregate support to stream Table API(blink planner) ” 明確了 JIRA號(hào)FLINK-13471, 模塊table 和PR的內(nèi)容是Add FlatAggregate support to stream Table API(blink planner)。
- 同時(shí)在詳情里面要清楚的描述你改動(dòng)的點(diǎn),不同項(xiàng)目有不同的要求,但總體上保持上面提到的 前進(jìn)一小步,文明一大步的原則,你寫的越清楚,Review的人越容易理解你的改動(dòng),你的PR越容易得到有效的反饋。
最后,點(diǎn)擊“create pull request”完成PR的創(chuàng)建!不過(guò),這還沒有完成社區(qū)貢獻(xiàn),還需要等待社區(qū)其他貢獻(xiàn)者的Review。
正常情況下,除非是typo的貢獻(xiàn),一般有代碼邏輯的PR都會(huì)或多或少的得到reviewer的改進(jìn)反饋,這時(shí)候就是學(xué)習(xí)交流的好機(jī)會(huì)啦:) 你可以盡可能的發(fā)表你的看法,解釋你的設(shè)計(jì),當(dāng)然也要充分理解反饋的內(nèi)容,最后根據(jù)溝通達(dá)成的內(nèi)容進(jìn)行PR的更新!
最后。。。最后。。。最后 達(dá)到了社區(qū)代碼質(zhì)量的要求,Committer會(huì)幫助你進(jìn)行代碼的Merge,這樣你就完成了社區(qū)第一份貢獻(xiàn)嘍!!
2. 開始1-100之旅
常識(shí)性觀念是0-1很難,因?yàn)槟鞘莿?chuàng)新,那是新領(lǐng)域的探索,那是醞釀了很久之后的第一步!但是參與ASF開源貢獻(xiàn),恰恰是0-1很容易,1-100才是一個(gè)持久戰(zhàn)。需要上面提到的 “Never, Never, Never Give Up(永不放棄)”, 因?yàn)槲艺娴目吹搅撕芏嗌鐓^(qū)貢獻(xiàn)者在一個(gè)社區(qū)貢獻(xiàn)了一段時(shí)間之后,如果沒有拿到自己想要的結(jié)果,比如成為Committer,就會(huì)永遠(yuǎn)的在這個(gè)項(xiàng)目貢獻(xiàn)里面消失了,Give Up 了!這不是危言聳聽,這是真是的現(xiàn)實(shí)!所以在ASF開源貢獻(xiàn)的道理上,的確有很多人被 馬老師的話所命中:“今天很殘酷,明天更殘酷,后天很美好,但是絕大部分人是死在明天晚上,看不到后天的太陽(yáng)”。所以,你…準(zhǔn)備好了嗎?:)
但行善事,莫問前程
不論做人,做事還是社區(qū)貢獻(xiàn),很多道理都是想通的,在下面的ASF金字塔中,我們從 貢獻(xiàn)者 到 董事會(huì)成員的路是漫長(zhǎng)的,如果你天天想著什么時(shí)候成Committer,什么時(shí)候成為PMC成員,什么時(shí)候成為ASF Member,什么時(shí)候能夠當(dāng)選董事會(huì)成員,我確信,在ASF開源貢獻(xiàn)中,你將無(wú)法做到 “快樂工作,認(rèn)真生活”!過(guò)急的目標(biāo)驅(qū)動(dòng)會(huì)增加你的煩惱,相反,登山而不思山頂 攀登,將會(huì)迎來(lái)一路的驚喜!所以在參與開源的開始,我最后的建議就是:“但行善事,莫問前程”!加油⛽️
為你打氣
我相信在ASF開源貢獻(xiàn)之旅,你會(huì)有很多次要放棄的念頭,你會(huì)遇到很多懷疑自己的時(shí)刻,你會(huì)時(shí)不時(shí)的懷疑社區(qū)管理者是否有問題?總之,如果你想把他當(dāng)作一生的樂趣,在你沒有找到樂趣之前,你一定需要下面的在文章開頭已經(jīng)提及的三句話:
- 給世界帶來(lái)微小而美好的改變
- 把幸運(yùn)種子種到別人身上去,你才會(huì)有幸運(yùn)
- Never, Never, Never Give Up(永不放棄)
你參與社區(qū)的目的是為了盡自己微薄之力,來(lái)讓ASF開源社區(qū)更美好!
你參與社區(qū)的信念是為其他人播撒幸福幸運(yùn)的種子,你并沒有在乎得到什么回報(bào),你相信“因果”!
你參與社區(qū)的堅(jiān)守是永不放棄,因?yàn)橹灰以谇靶校貙⒌诌_(dá)彼岸!永不放棄要深刻你腦海!
我很喜歡上面這三句阿里土話,我們共勉吧!
誠(chéng)摯邀請(qǐng)
我目前在負(fù)責(zé)Apache Flink的PyFlink建設(shè),誠(chéng)摯邀請(qǐng)想?yún)⑴cASF社區(qū)貢獻(xiàn)的你,以PyFlink作為你的開源之旅的首站!期待在Apache Flink社區(qū)PyFlink的建設(shè)中,遇見你~~
小結(jié)
本篇為大家介紹了參與開源的利好,原則,以及介紹為自己的第一個(gè)社區(qū)貢獻(xiàn)需要做怎樣的準(zhǔn)備。最后誠(chéng)摯邀請(qǐng)想?yún)⑴c開源建設(shè)的朋友首站加入Apache Flink 的PyFlink建設(shè)。
作者介紹
本人孫金城,淘寶花名“金竹”,阿里巴巴高級(jí)技術(shù)專家。2011年加入阿里,在2016年開始ASF社區(qū)貢獻(xiàn),目前是 ASF Member, PMC member of @ApacheFlink and a Committer for @ApacheFlink, @ApacheBeam, @ApacheIoTDB。
【本文為51CTO專欄作者“金竹”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】