如何把開源作為一份職業(yè)
你知道嗎?80% 的維護(hù)者認(rèn)為招募新的貢獻(xiàn)者是一個(gè)挑戰(zhàn),92% 的雇主認(rèn)為很難雇用到開源人才。而另一方面,52% 的開發(fā)者希望為開源做出貢獻(xiàn),33% 的人不知道從哪里開始,31% 的人認(rèn)為自己不夠熟練。公共數(shù)據(jù)顯示,社會(huì)對(duì)具有開源技能的人有很大的需求。因此,讓我們看看如何才能夠把開源作為一份職業(yè),以填補(bǔ)這個(gè)供需之間的差距吧!
掌握一個(gè)技能
開源旅程的起點(diǎn)僅僅是你擅長(zhǎng)的某個(gè)技能罷了。許多開發(fā)者會(huì)在空閑時(shí)間從事開源工作,他們?cè)诓皇炀毜念I(lǐng)域投入精力,并把這些技能引入到技術(shù)領(lǐng)域里來。像機(jī)器學(xué)習(xí)(ML)、云原生和大數(shù)據(jù)分析這樣的技能是很受歡迎的,因?yàn)樵S多項(xiàng)目都圍繞著它們而進(jìn)行。
開發(fā)者必須不斷嘗試,直到找到自己感興趣的東西為止。例如,當(dāng)我開始在開源領(lǐng)域工作時(shí),我選擇了移動(dòng)用戶界面(UI)和 Web 開發(fā)(包括前端和后端)方面的工作。這個(gè)選擇并不簡(jiǎn)單,我花了很多時(shí)間來弄清楚我想從事什么。因此,重要的是要遵循你的興趣,通過學(xué)習(xí)和建立項(xiàng)目來探索不同的領(lǐng)域。很多時(shí)候,理論教程可能不如建立實(shí)際項(xiàng)目更有幫助。掌握技能的唯一方法是將所學(xué)的東西應(yīng)用到實(shí)際項(xiàng)目中。
如果你已經(jīng)在某項(xiàng)技術(shù)和項(xiàng)目上投入了很長(zhǎng)時(shí)間,那么你應(yīng)該花時(shí)間好好分析一下。如果你對(duì)這個(gè)項(xiàng)目不感興趣,那么放棄它可能是更好的選擇。然而,這也可能是一把雙刃劍。有可能你會(huì)發(fā)現(xiàn)一些感興趣的東西,從而產(chǎn)生一個(gè)新的權(quán)衡。如果經(jīng)過了充分的分析,你也知道了自己傾向于哪些技能組合,那么下一步就是建立自己的項(xiàng)目。
建立一個(gè)項(xiàng)目
無(wú)論項(xiàng)目的內(nèi)容如何,只要它是活躍的,就會(huì)產(chǎn)生很大的價(jià)值。但請(qǐng)記住,一旦它開源了,你千萬(wàn)不要被大家的反應(yīng)所左右。并且記住,無(wú)論你是為一個(gè)應(yīng)用程序建立一個(gè) UI,還是僅僅記錄一個(gè)適當(dāng)?shù)淖⑨?、資源或 URL 的列表,你的工作都可以對(duì)開源用戶有很大幫助。
在很大程度上,學(xué)習(xí)不同的工具有助于建立開源項(xiàng)目。因此,學(xué)習(xí)關(guān)于版本控制系統(tǒng)、Git、GitHub 和 GitLab(大多數(shù)項(xiàng)目都在它們上面)的一切是很重要的。由于互聯(lián)網(wǎng)上已經(jīng)有足夠的教程,我只收集了一些可以在 ??navendu.me/osidays?
? 上找到的。你需要通過撰寫文檔和公開自己學(xué)到的內(nèi)容,來“公開學(xué)習(xí)”才行。
打造一份職業(yè)
你可以通過三種方式在開源領(lǐng)域建立一份職業(yè)。
構(gòu)建、擴(kuò)展你自己的開源項(xiàng)目,并讓它盈利
如果你想要建立一個(gè)自己的項(xiàng)目,發(fā)現(xiàn)并解決問題是一個(gè)很好的經(jīng)驗(yàn)法則。記下別人可能面臨的問題,一個(gè)項(xiàng)目需求就這樣產(chǎn)生了。你的項(xiàng)目的市場(chǎng)規(guī)模只能通過試驗(yàn)和錯(cuò)誤來估計(jì)。對(duì)于既沒有太多資金的、也沒有太多經(jīng)驗(yàn)個(gè)人貢獻(xiàn)者來說,社交媒體、博客、帖子和會(huì)議上的講話,都會(huì)在很大程度上有助于接觸到用戶。這些平臺(tái)可以為你的開源項(xiàng)目帶來巨大的流量。
資金在幾乎所有的商業(yè)模式中都起著重要作用。Mozilla 基金會(huì)依靠自愿捐款來資助其項(xiàng)目。MariaDB 采用了延遲開放源代碼的商業(yè)模式。IBM 的許多開源項(xiàng)目遵循開放核心的商業(yè)模式,即項(xiàng)目的核心部分是開源的,而周圍的附加部分是閉源的和專有的。紅帽公司不出售代碼,而是出售專業(yè)服務(wù),如支持、工具和圍繞項(xiàng)目的技術(shù)援助。這些商業(yè)模式的例子可以被采用,以此來建立一個(gè)項(xiàng)目,將它開源,并使其盈利。
“即使你不是維護(hù)者,也要做維護(hù)者的工作?!?/p>
在一個(gè)以開源商業(yè)模式建立項(xiàng)目的公司工作
成為貢獻(xiàn)者和維護(hù)者社區(qū)的一份子,參與會(huì)談和參加會(huì)議將有助于你為項(xiàng)目做出貢獻(xiàn)。你可以根據(jù)引導(dǎo)來完成第一次貢獻(xiàn),但它不一定得是代碼。一個(gè)大的代碼庫(kù)可能看起來很嚇人,但關(guān)鍵是要從小的地方著手。找到一個(gè)問題并解決它,這將有助于你了解貢獻(xiàn)流程、代碼庫(kù)和項(xiàng)目設(shè)置等。
非代碼的貢獻(xiàn)也是有價(jià)值的。擅長(zhǎng)寫作的人可以通過撰寫文檔,或者為社交媒體寫作來貢獻(xiàn)。擅長(zhǎng)設(shè)計(jì)的人,可以設(shè)計(jì)一個(gè)模板、一個(gè)顏色方案,或者也可以致力于創(chuàng)造一個(gè)更好的用戶界面。與資深工程師相比,新人發(fā)現(xiàn)錯(cuò)誤的概率很高。他們可以測(cè)試、確認(rèn)并報(bào)告他們的用戶體驗(yàn),從而提升項(xiàng)目質(zhì)量。另一個(gè)領(lǐng)域是新手引導(dǎo),很多開源項(xiàng)目將導(dǎo)師和新手聯(lián)系起來,并幫助后者做出重要貢獻(xiàn)。還有一個(gè)選擇是成為組織者或社區(qū)管理員,這意味著你將承擔(dān)起項(xiàng)目經(jīng)理的角色,確保功能完全按照預(yù)期交付,路線圖得到遵循,貢獻(xiàn)者得到照顧。大多數(shù)開源項(xiàng)目缺乏適當(dāng)?shù)墓芾恚驗(yàn)楣こ處焸兌疾幌矚g做這一類工作。
社會(huì)上有很多實(shí)習(xí)項(xiàng)目可以幫助你賺錢,比如谷歌的編程之夏(GSoC)和 Linux 基金會(huì)的導(dǎo)師制(在這里,被指導(dǎo)者有津貼,可以根據(jù)需要全職或兼職工作)。如果你能很好地發(fā)展你的技能,你可以在你實(shí)習(xí)的公司獲得一個(gè)全職的職位。例如,如果你在紅帽公司的一個(gè)項(xiàng)目中工作,你有機(jī)會(huì)被全職雇用,因?yàn)槟阍谀抢镆呀?jīng)有了知名度。
正如 NumPy、SciPy 和 Anaconda 的作者 Travis Oliphant 所說,“建立一個(gè)開源項(xiàng)目,讓人們?yōu)樗龀鲐暙I(xiàn),然后從他們當(dāng)中招聘?!?—— 這也是我獲得全職工作的方式。
- 隨著時(shí)間的推移,你所做貢獻(xiàn)的質(zhì)量和數(shù)量會(huì)不斷提升。最好長(zhǎng)期參與一個(gè)項(xiàng)目,因?yàn)檫@樣可以發(fā)現(xiàn)更多的貢獻(xiàn)領(lǐng)域。投身進(jìn)去做貢獻(xiàn)會(huì)讓人們注意到并認(rèn)可你。
- 開源項(xiàng)目缺乏項(xiàng)目經(jīng)理,因此成為項(xiàng)目經(jīng)理將有助于你的職業(yè)生涯。
- 成為一個(gè)維護(hù)者,做一些工程師應(yīng)該做的事情,如審閱代碼、設(shè)計(jì)系統(tǒng)、撰寫文檔和幫助他人做出貢獻(xiàn)。
- 好的貢獻(xiàn)的關(guān)鍵是“提前付出”,這意味著你需要通過分享經(jīng)驗(yàn)和智慧來幫助新人,并確保他們不犯錯(cuò)誤。
獲得贊助以從事開源工作
作為個(gè)人,如果你正在為某個(gè)公司建立的項(xiàng)目而工作,你可以要求獲得資助。值得注意的是,只有當(dāng)你的貢獻(xiàn)很大時(shí),組織才會(huì)樂意贊助你。但是,如果你建立了自己的項(xiàng)目,并且有大量的用戶群,你可以向用戶要求資助。
作為一個(gè)組織,你可以通過像 Open Collective、Patreon 和 GitHub Sponsors 這樣的平臺(tái)來籌集資金,讓人們?yōu)槟愕捻?xiàng)目捐款。像 Linux 基金會(huì)和 Mozilla 基金會(huì)這樣的開源巨頭也提供資金來支持項(xiàng)目。GitHub 已經(jīng)給 15 個(gè)印度貢獻(xiàn)者的項(xiàng)目提供了資助。
我曾經(jīng)花了三個(gè)月時(shí)間建立了一個(gè)開源項(xiàng)目。這個(gè)項(xiàng)目后來被 《Product Hunt》 和 《JS Weekly》報(bào)道,還在上過 GitHub 趨勢(shì)榜排名第一的位置。正是這個(gè)項(xiàng)目讓我走上了開源事業(yè)的道路。