維護開源項目太難?Redis 之父支招:做你想做的
技術(shù)編輯:小魔丨發(fā)自 思否編輯部
公眾號:SegmentFault
前不久,開源軟件管理解決方案供應(yīng)商 Tidelift 對開源項目維護者展開調(diào)查,結(jié)果顯示開源維護者大多做著一項錢少事多壓力大的工作:幾乎一半的代碼維護者沒有工資;工作量繁重;需要承擔(dān)很大壓力,甚至吃力不討好;超過一半 (59%) 接受調(diào)查的維護者已經(jīng)退出或考慮退出維護項目。
此前,Linux 內(nèi)核維護者 Greg Kroah-Hartman 稱代碼維護人員「需要處理大量的實際工作」;擁有數(shù)百萬用戶的開源項目 Babel 陷入財務(wù)困境,項目負(fù)責(zé)人 13 萬美元年薪遭受質(zhì)疑…… 這些事件使得人們對開源項目存活之難、開源維護人員工作之辛苦略有了解。
最近,這一點又得到了驗證。開源項目 Docz 的作者 pedronauck 發(fā)文表示維護開源太難了,這項工作使其身心受到損害。

他表示,在 Docz 項目開發(fā)初期,他在本職工作之外需要早起 3 個小時,晚睡 3 個小時。這個項目為他提供了很多機會。但隨著項目的發(fā)展,用戶需求越來越多,維護開源項目變得非常艱難。人們希望從這個項目中獲得很多東西,但并不愿意給予幫助,這讓他很崩潰。
本職工作和維護開源項目讓他分身乏術(shù),身體健康也受到了影響。最終他不得不在「維護開源項目」和「保持身心健康」之間選擇了后者。然而,這給項目帶來了一定損害,很多人以為 Docz 項目無人維護。
開發(fā)者們:深有同感,維護開源項目可真是太難了!
在這篇文章下面,許多開發(fā)者對 pedronauck 的工作表示感謝,并給出了自己的建議。
首先很感謝你的辛勤工作。我認(rèn)為這是大多數(shù)開源項目都會遇到的問題,除了尋求社區(qū)幫助外,項目作者還需要保持冷靜的心態(tài)。你創(chuàng)建這個項目的原因只是因為你需要它并希望它幫助更多的人。如果你沒有足夠的時間來維護它,你就首先滿足自己的需求。這不全是你的錯,你不必自責(zé)。
你沒有辜負(fù)任何人。正如你所說,維護 OSS 非常困難,而且往往吃力不討好。
然而有人給出「為什么不多找?guī)讉€人一起維護」的建議時,另一位開發(fā)者直言:「找志愿者并非易事。」看來,開源項目維護者都有一大堆糟心事……
就連大佬也不例外。
Redis 之父支招:做你想做的
對于如何處理 OSS 軟件開發(fā)的壓力,Redis 之父 Salvatore Sanfilippo(又名 antirez)介紹了自己的經(jīng)驗:

作為開發(fā)過許多不同規(guī)模的 OSS 項目(Redis、Hping、Jim Tcl、Visitors web analyzer 等)的人,我認(rèn)為解決方案比看起來更簡單:做你想做的。當(dāng)你身處一個成功的開源項目中時,你可能會認(rèn)為解決方案是二元的:不做任何事情,或者做人們要求你做的一切。然而,事實是你可以繼續(xù)做自己想做的事,挑選自己想解決的問題、添加自己想要的功能等。給自己每天在開源項目上花費的時間定一個固定范圍,在這段時間內(nèi)只做你想做的事情,其他事情一律不用管。
記住永遠(yuǎn)「做自己想做的事情」,但同時要注意以下幾點:
不要因為別人沒有付錢就向你索取,就認(rèn)為他們犯了錯或濫用權(quán)利。不,他們可以提出要求,但你也可以忽略這些要求。 不要因為開源軟件免費,就對軟件質(zhì)量不負(fù)責(zé)任:只做自己想做的,完成工作,并撰寫完備的文檔。不要因為軟件是免費的,就發(fā)布糟糕的東西。按照你想要的方式做事,但要帶著愛。 受到攻擊時,平靜地說出自己的想法,不要陷入爭論。 在開源維護過程中結(jié)交朋友。在你遇到困難時,他們會給予很多幫助。請記住:最聰明的人在 99% 的情況下都有一顆大心臟,并且非常友好。
結(jié)語

