5W1H聊開源之Why——爲什麼要參與開源?

中國開源的發展速度發展加快,個人和組織對於爲開源作貢獻有着前所未有的激情。據《2020年IT行業項目管理調查報告》,約四成受訪者以自己開發開源項目、爲他人提交項目代碼、作爲成員開發維護項目、捐助開源項目等不同形式參與到開源項目中;在《2021中國開源發展藍皮書》中,參與過開源項目的比例爲32%,且呈增長趨勢,我國開源生態正迅速形成。

創建和維護那些被廣泛使用的開源項目每年可能需要耗費數千小時,爲什麼開發者會願意花費時間和精力編寫這些免費公開的代碼?爲什麼企業會願意讓他們的員工編寫代碼,開源讓其他公司甚至是競爭對手都可以使用?個體參與開源會得到什麼?

個人爲什麼要開源?

1.提升代碼質量

參與開源項目是提升個人代碼質量的好方法。一方面開源會激發程序員的“恥感”,一旦清楚這些代碼是要公開給別人看的,就會自覺將代碼寫得更加整潔、乾淨,加更多註釋。另一方面,如果項目有一定的影響力,其他關注、參與的程序員也會給予更多建議,這樣可以博採衆長,無形之中約束自己的代碼規範,改進自己的代碼質量。
開源運動旗手 Eric S. Ray­mond 就曾說過:“只要經過足夠多雙眼睛的審查,所有的 bug 都將失去藏身之地。這就是 Linus 定律。”

2.展示個人代碼

一個小時的面試可能只能展示你掌握的某些底層基礎或者前沿知識,但如果有開源項目傍身,就可以從你長期的代碼中看出代碼質量如何。而且參與開源項目還能展示出你對技術的熱愛,向面試官展示你引以爲傲的開源項目,這將是個不錯的加分項。而深度參與知名開源項目的開發者,從來不缺工作,參與開源的經驗不僅能幫助他們獲得更廣闊的職業機會,而且能拓深職業發展空間。正如 jQuery 的創始人 John Resig 曾說過的那樣:“不管在任何時候,只要涉及到招聘,相比普通的簡歷而言我更看重的是應聘者在 GitHub 上開源共享的東西。”

3.建立個人品牌

正如上述兩條,代碼質量提升和簡歷的加分項都會指向同一個成就:打造個人影響力,建立個人品牌。最爲典型的就是Git的發明者Linus,儘管他的自述是“只是爲了好玩”,但從他的名聲大噪來看,倒是有些“凡爾賽”了。現今活躍的很多技術大牛往往是在大公司工作過的頂級工程師,憑藉開源貢獻在軟件社區當中積累起人氣與聲望,擺脫公司標籤,成功打造個人品牌。

企業爲什麼要參與開源?

1、改進代碼和功能

大多數的組織和個人首先參與的是他們正在使用的開源項目,主要目的是想讓項目/軟件變得更完善,更便於自己使用;或者直接打造自己所需的工具並將其開源,也就是常說的“造輪子”。 這部分改進的功能當然可以自己使用不提交,但繼續分享纔是讓利益最大化的方式,因爲如果不貢獻自己的代碼,就有可能面臨新版本這些功能不再工作的風險。

2.獲取競爭、招聘優勢

在程序員的世界中,開源雖說不上是多麼崇高的事,但整體形象確實是正面的。開源意味着企業願意與其他企業和個人共建生態,這個企業的大體上來說,是有擁抱開放的這樣的傾向的。所以參與開源有助於提高組織和企業的聲譽,且更能吸引志同道合的求職者共同發展。此外,這種行爲也有助於提高組織和企業的聲譽,提升品牌形象,特別是在開發者之間的口碑,帶來的好處就是利於招聘和留住人才。

3.開源商業模式直接獲利

開源不牴觸商業,開源的目的是分享共享,但不是做慈善事業。具體盈利模式有技術支持、培訓、高級功能、雲服務等方式收費。不同的軟件、不同的領域有不同的盈利模式,但所有模式的基礎都是用戶數。只有用戶數量達到了一定的規模,纔有成其商業化模式的可能。

商業開源是通過更多人的參與,減少軟件的缺陷,豐富軟件的功能,同時也避免了少數人在軟件裏留一些不正當的後門。企業通過開源的商業模式可以直接獲得經濟利潤,開源軟件最終還會反哺商業,讓商業公司爲用戶提供更好的產品。

贈人玫瑰,手有餘香。開源最美妙地方就是不必花時間解決同樣的問題,當你遇到的大問題已經有人做了開源項目時,一定感覺如釋重負。同樣,當看到你的開源項目爲其他人解決了問題時,巨大的成就感也是一種巨大的激勵。

所以參與開源的原因或好處,除了上述具體因素,也有各種心理原因,也包含其他諸如降低開發成本、促進行業標準、支持開源價值觀甚至純粹的享受開源樂趣或回饋開源項目等因素。參與開源的“動機”當然可以“不純粹”,也不講究“默默無聞,無私奉獻”,參與即貢獻,開源領域的發展與每一位開發者都息息相關,進一步有進一步的歡喜。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章