開發者為什么不愿意參與開源貢獻?不僅是錢的原因
對企業和開發人員來說,開源貢獻具有重要意義。它能幫助企業建立自己的開源標準,同時能夠吸引多樣化人才,可以幫助開發人員豐富開發經驗,提升個人能力。但事實上,如此明顯的優勢并沒有吸引更多的開發人員從事這個行業。
開源軟件可能會成為主導未來驅動云計算、人工智能等的軟件,但目前只有一小部分開發人員負責主要的代碼編寫。雖然對于任何固定的開源項目來說,絕大多數核心貢獻都來自于一群忠誠的開發人員,但是未來消費開源的趨勢可能會轉變為編寫開源程序。
這看起來只是時間問題。
開源***制,但開源貢獻有很多限制
開源貢獻者的職業收益很可觀,但令人驚訝的是參與開源貢獻的人并不多。根據Stack Overflow最近的 一項調查顯示,僅有12.4%的開發者每月至少貢獻一次,另有23.1%的開發者表示他們每年至少貢獻一次,但還達不到每月一次的程度。
接受調查的開發人員中,有80.2%的人表示他們將編碼作為業余愛好。雖然有孩子的開發人員不太可能花時間編寫代碼,但仍有很大比例的開發人員在空閑時間編寫代碼。那么為什么他們不選擇為開源項目做貢獻呢?
Mathew Lodge指出,開源項目并不那么歡迎開發人員的貢獻:“任何開源項目都不歡迎陌生人的一次性貢獻,而且他們的貢獻被接受也有非常大的困難。”換句話說,為開源項目貢獻的權限并不那么容易獲得,而且開發人員可能不愿意花費太多業余時間說服項目維護者,以獲得為開源項目貢獻的權限。
開源項目維護者不愿意接受一次性貢獻并非沒有道理,正如 Mark Callaghan所強調的那樣:“即使我了解開源貢獻者,也會對他們的一次性貢獻保持警惕。”
此外,Ross Gardler表示,開源貢獻的***方案是是開發共享組件。數據顯示,開發人員的大部分時間都花在了規劃、粘合代碼、測試、協調上。有時還要說服項目維護者自己的貢獻是有價值的。換句話說,開發人員貢獻的每一行代碼都需要進行大量的幕后準備工作。
如果你是靠寫開源軟件賺錢的,這并不是什么大問題。然而,大多數人只是將其作為業余愛好。
“沒有時間”和“免費貢獻”
雖然開發人員喜歡在業余時間編寫代碼,但很少有人有足夠的空閑時間將其用于真正的開源貢獻。正如Drupal創始人 Dries Buytaert所說的那樣,“開源社區經常誤以為每個人都可以做出貢獻。然而,不是每個人都有足夠的空閑時間來進行開源貢獻。” 開源社區的不平等使得業余開源貢獻人員難以擁有為開源做出貢獻的“空閑時間”。因此,在開源社區中實行精英管理的想法有點不切實際。
Tobie Langel也對相關話題發表了觀點:
開源很大程度上是建立在工程師的空閑時間上的,但是他們并非時時都有空閑時間。那些工作忙碌、需要照顧老人與孩子或者由于住房成本而長途通勤的人們,只是沒有時間來做貢獻。科技行業的性別失衡已經相當嚴重:女性只占勞動力的12%至24%,這項數據具體到開源行業中還要更低。
開源為那些有權參與的人提供了經驗、曝光度和平臺,它導致了工資和職位得差距擴大化。實際上,GitHub調查中,過半的受訪者聲稱,開源在某些方面對他們目前的角色有非常重要的影響。由于受訪者大多為男性,因此很容易看出誰從中受益。
因此,Langel建議使開源專業化,即付錢給開發人員讓他們為開源做出貢獻。許多軟件(或軟件服務)供應商已經在這樣做,并取得了良好的效果,但在軟件的主流用戶(如銀行、零售商等)中,這種情況仍然非常少見。目前還不清楚出現這種情況的原因。Langel認為,一個成熟的開源戰略可以幫助公司改善和推動關鍵項目的進行,豐富其企業文化,并使公司吸引更加多樣化的人才。
依靠開發人員個人是無法解決這個問題的,原因是前文提到的“沒有時間”和通過開源軟件的人不需要解決此類問題。但是,通過開源貢獻獲益的企業(而不僅僅是消費開源),可以嘗試解決開源市場固有的不公平問題。