2010年度報告:是誰在編寫Linux內核?
原創【51CTO精選譯文】Linux開發人員繼續以快速的步伐推出新內核,但根據Linux基金會最近發布的一份報告顯示,在過去的一年里,新代碼的提交步調明顯變慢了。該報告還指出,Linux內核開發的杰出貢獻者也在發生變化,越來越多的移動開發人員加入到Linux內核開發隊伍,這是Linux基金會第三次年度“誰在寫Linux”報告(報告PDF下載地址),總結了過去一年來Linux內核的進展情況。
51CTO推薦專題:Ubuntu 11.04——敏捷的獨角鯨
根據2010年“誰在寫Linux”報告顯示,提交給2.6.35內核的代碼量比去年發布的2.6.30內核的代碼量少18%,過去一年來提交的內核代碼減少的原因很多,包括階段代碼新的提交流程。
Linux基金會市場營銷和開發計劃副總裁,報告的合著者Amanda McPherson說:“我認為階段樹不是簡單的代碼增加,也不是在以前的版本上簡單的膨脹”。(51CTO編輯注:樹/tree是軟件開發過程中的一個常用語。尤其在開源項目中,由于代碼來自很多開發者,因此就有一個代碼層層加入主代碼庫的過程,感覺好像樹一樣的結構)
報告解釋了從2.6.28內核開始的代碼階段樹。最初的狀態樹啟動了一個進程,將大量樹外的代碼合并到主Linux內核中。根據今年的報告顯示,從2.6.31開發周期可以看出,因積壓下來的大量代碼需要處理,這一進程就放慢了。報告還指出,新的驅動程序經由階段樹源源不斷進入主Linux內核。
雖然新代碼的提交步伐和去年相比不在同一水平,但整體來看進展還是不錯。報告指出,自2.6.30內核開始,每天有9058行代碼添加到Linux內核,包括周末和節假日。
過去五年半以來,從2005年的2.6.11內核到2010年的2.6.35內核,平均每一小時就會有4.02個補丁應用到內核樹上。
內核發布后,就進入維護期,根據需要更新補丁。有些版本的內核更新補丁會多一點,如2.6.32內核是過去五年來更新補丁最多的一個版本(報告指出2.6.32內核總共有1793個修復補丁)。McPherson指出,Linux 2.6.32內核經過長時間的補丁修復,現在正穩定更新中。
McPherson說:“2.6.32內核已經用在RHEL 6,SLES11中,如果我沒記錯的話,有一個Ubuntu LTS發行版也使用了它,因此這個版本的內核得到了大家持續的關愛,2.6.32現在仍然在更新,而比它高一個版本的2.6.33-35已停止更新”。
誰是內核貢獻者?
正如最近五個內核版本提交的代碼數量下降一樣,為Linux內核貢獻代碼的企業數量也在下降。2.6.30內核已知的代碼貢獻企業是245家,但到2.6.35版本時,貢獻代碼的企業數量就下降到184了。
一些知名的Linux內核代碼貢獻企業也發生了細微的變化。
- 貢獻最多的仍然要數Red Hat,2.6.30內核有12%的代碼變化都是Red Hat貢獻的
- 英特爾次之,貢獻了7.8%
- Novell貢獻了5%
- IBM貢獻了4.8%
McPherson說:“今年報告中的數字正如我們預料的一樣,我很高興地看到贊助內核開發的頂級企業發生了變化,移動/嵌入式開發公司表現得越來越活躍”。
從2.6.30內核開始,諾基亞貢獻了2.3%的代碼,德克薩斯儀器提交了1.5%的代碼,無線廠商Atheros添加了1.4%的Linux內核代碼。
相反,Ubuntu Linux背后的Canonical在最近五個Linux內核版本中所做的貢獻卻很少。
McPherson說:“如果你仔細查看日志,就會發現Canonical從2.6.30內核以來,總共提交了109個補丁,占總量的0.2%,排在所有貢獻企業的第62位”。
【編輯推薦】