誰寫了Linux?

 

誰寫了Linux

陳皓

 

 

原文:http://coolshell.cn/?p=1360  酷殼

 

(請勿用於商業業用途,轉載時請注意作者和出處)

 

2009年8月,Linux軟件基金會發佈了一份叫《Who Writes Linux and Who Supports It》(PDF)的報告。這份報告主要對Linux 2.6.x的開發進行了全方位的統計。看了以後才知道,原來Linux的開發的生產率竟是這樣的驚人,而且相當的的令人振奮,所以,在第一時間轉過來給大家看看。讓人不得不驚歎,這不可思議的具有非凡活力的社區。(注意,我們這裏說的是Linux,不是GNU的那些東西,所謂Linux就是Linux的Kernel)

下面是一個導讀,希望每一個看到這篇文章的朋友都能看看原文的報告:《Who Writes Linux and Who Supports It》(PDF)

這份報告的一開始就對Linux的開發進行了總結:

  • 每2-3個月一個release
  • 最近的每一次release都超過10000個補丁
  • 有超過1000個開發人員進行開發,他們來自200個公司或組織。
  • 自2005年以來,超過5000個來自500個不同公司的開發人員爲Linux內核做過貢獻。
  • 自2008年以來,每次release,都大約增加了10%左右的開發人員,而且,代碼碼達到了2.7百萬行。

是的,這樣的生產率真是太瘋狂了。下面是這份文檔中所涉及的一些介紹和一些具體的統計數據。

 

Linux開發模式

Linux的開發採用的是一種寬鬆的,基於時間的開發模式。每一個新的主要版本的release基本上會發生在2-3個月之內。這個開發模式是在2005年形成的,因爲任何人都可以修改其內核的代碼,所以,很多補丁進入內核的時間非常的快。

其中一個有意義的事是,他們有一個叫Linux-Next的服務器,這個服務器一般來說會是下一個版本的staging,比如,如果目前的穩定版本是2.6.31,那麼Linux-Next上就會運行2.6.32。這樣,所有的developer都能看到下一個版本總體的樣子,而且,這更容易發現一些集成性的問題。

在2.6的mainline代碼庫上(mailline是代碼庫的主線),有一個叫做“stable team”的團隊,他們會做短期的維護工作,他們確保所有的重要的補丁或更改都會被放入mailline中,這樣就能滾入下一個release。

然後,這份文檔中給出了大量的開發編譯數據。

統計數據

下面的統計數據是從版本2.6.11開始的,我把源文件中的表格合併成一個大表,如下所示。

Linux Kernel開發統計數據

從上圖我們可以看到下面這些東西:

  • Linux Kernel開發的速度越來越快,看看每個release的補丁數,每天文件增、刪、改就可以知道。
  • Linux Kernel開發的團隊是越來越大,包括人員和參與的公司。

下面是幾個統計圖表:

linuxp1
平均每天的修改

linuxp2
代碼修改統計

linuxp3
開發人員

誰寫了Linux

最後我們進入主題——誰寫了Linux,首先,我們先來看一下進入代碼修改的Top 30的開發人員列表:

Top 30 Linux developer

我們可以看到,Linus Torvalds (729 總修改,自2.6.24版來254 修改)無法進入前30名。當然,對Linux的貢獻絕對不能通過代碼行來表示,Linus對Linux就算是在今天也是至關緊要的。

好,讓我們再來看看那些公司對Linux的貢獻。根據這份報告所說,知道每個developer所在的公司,主要是通過了下面的幾種方法:

  • 使用的郵件地址有公司的名字。
  • 由贊助者提交的代碼。
  • 直接詢問得到的。

所以,這些數據只能算得上的近似,不過也能看到一個總體的樣子了。下圖中“None”代表沒有職業無業遊民,“Unknown”代表無名氏或是英雄不知出處。

Linux Company Top 30

我們可以看到,Top 10公司,爲Linux貢獻了近70%的代碼。包括了None和Unknown,而且,那些是拿着公司報酬給Linux作開發的程序員。

那麼,爲什麼這些公司要支持Linux的內核開發呢?

  • 我們可以看到像IBM, Intel, SGI, MIPS, Freescale, HP, Fujitsu這樣的大公司,他們的目的當然是爲了確保Linux能夠在他們的硬件上工作得更好。
  • 我們也可以看到像Red Hat, Novell, 和MontaVista這些Linux的Distribution公司,他們是Linux的主力,主要是爲了提供給他們的客戶更好的服務。
  • 同樣,我們還能看到像Sony, Nokia, 和Samsung這樣的公司,這些公司主要是用Linux來開發數碼產品,如攝像機、手機或是電視,他們使用Linux做一些嵌入式開發,以保證他們的產品工作得更好。
  • 還有一些和IT都沒有關係的,例如:Volkswagen公司在v21.6.25中爲Linux加入了PF_CAN網絡實現的協議。Quantum Controls BV公司在2.6.30時加入了一個航海導航的補丁,這些公司都會使用Linux來完善他們的產品。

看來,Linux的勢頭是越來越無法阻擋了,你也想加入這個陣營嗎?點下面的鏈接吧:http://ldn.linuxfoundation.org/book/how-participate-linux-community

 

(請勿用於商業業用途,轉載時請注意作者和出處)

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