開源項目就是一個朝九晚五的工作?
我們差不多會喜歡那些神秘的業余開發者,沒有人愿意免費的從事編碼工作。這樣說可能不太準確,但是,根據 Dirk Riehle 博士最近的學術報告,開發人員在工作時間從事開源,至少有一半是要付費的。如果依照 Linux 基金的指標,那么,隨著時間的推移,工作日進行開源項目的開發,這種現象的比例只會逐漸增多。
有償交付代碼
Riehle 博士和他的學生指出,開源項目的代碼,差不多有 50% 的貢獻是在工作時間,具體的時間是在早上 9 點到晚上 5 點。事實上,很多開發者開始的時間晚,結束的時間也很晚,這種比例差不多處于一種上升的趨勢,我們稍后將加上這種情況。
下面是 Linux 的代碼貢獻圖例:
Linux 代碼貢獻的圖例
這是 60 萬開源項目和 300 多萬的貢獻者的分析圖例:
其他開源項目的代碼貢獻圖例
看這些圖表,很明顯,開源項目在正常工作日的開發進度差不多是工作日的 2 倍。不僅如此,越來越多的開發人員除了午飯和晚飯之外,大部分工作日的時間都用于開源項目。
總之,當談及工作習慣時,開源項目的開發人員與其他不同行業的人員一樣,差不多比例處于平衡的比例。
越來越多的開源傾向于商業化
如果你關注開源項目的發展,那很好。從 Hadoop 到 Android 到 MySQL 到 Puppet,目前為止,在構建和管理我們的應用時所用到的軟件中,開源項目占到了很大的比例。鑒于開源的價值,越來越多的公司想要投資,就像你在開源項 目中使用編碼投資的方式一樣。
在開源項目中,付費開發或者贊助開發將占很大的比例。就像 Evangelia Berdou 幾年前在他的博士論文中描述的一樣,“付費的開發人員更容易維護代碼庫中的關鍵部分”,因為“付費開發人員全職的去做項目,有能力去提升他們的技能,并且 更好的理解他們的代碼庫,這種作用,是其他的志愿者無法比擬的,因為志愿者常常只在他們空閑的時間來貢獻。
業余的開發者,換句話開說,很難保證及時提交項目代碼,或者很精通項目。付費的開發者,能夠專注于該項目,并且也能夠在項目中承擔更多的責任。
更有趣的現象是,研究人員發現“從 2007 年到 2010 年,騰出來的大量時間都用在了 Linux 內核上。從 2010 年開始,這種增長趨于穩定“。也就是說,連續 4 年里,越來越多的 Linux 內核開發是在正常的工作日進行的,這種趨勢,在 2010 年達到了最高。
對于一般的開源項目的開發,然而并沒有遵循這樣的趨勢。反正很不湊巧。雖然研究人員沒有列出不同的項目,我認為成功的開源項目,有著和 Linux 一樣的模式:更多商業性的介入,以及贊助商的商業參與開源項目的開發,這往往會在正常的工作時間內發生。
誰將掌控著開源的未來?
向付費的開源項目的發展是很好的,但是,會帶有一定的風險。我發現大多數的開源項目的開發人員都很獨立,總是存在風險的,所以企業通過雇傭主要的貢獻者來管理他們的項目。
以 OpenStack 為例:
在另一篇報道里,研究人員發現 OpenStack 的貢獻方式。他們發現,幾乎所有的開源項目,都是很少的人員做著大量的工作。
“OpenStack,就像其他的 FOSS 項目一樣,有一個不均勻的貢獻模式,那是因為很少的一部分開發人員,做了工程中相當多的部分。據統計,80% 的代碼提交來自略小于8% 的作者,90% 的提交大約來自所有作者中的 17%,據 OpenStack 的基金會統計,該項目中大約有 250 名開發者進行專業的工作。
這意味著,當然,有效地控制一個項目,并不需要很多員工。即使對于像 Linux 內核這樣的大型項目,也僅僅是一小部分貢獻者做著大量的工作,并不是和 OpenStack 里描述的貢獻方式一致。
據 Linux 基金所說,“依然有很少一部分的人員在做著大量的工作。在任何給定的開發周期中,大約有三分之一的開發者的貢獻只有一個補丁。自 2.6.11 版本中,前 10 名的開發人員貢獻了 30420 次的修改,占總量的 8.4%。前 30 名的開發人員貢獻了剛剛超過總量的 18%。
即便如此,Linux 的數據應該給我們更多的希望。畢竟,一個比較成功的項目,越多的人員(有償/無償)參與,一些特定的公司是很難這樣做的,因為他們只需聘請一些開發人員就 能控制代碼。這可能成為一個正在的開源項目的標志:它有大量的開發者,使開源項目壯大,并且不容易失敗。