Linux 25 年內核開發的 9 個經驗教訓

簡評:Linux 從誕生之初到現在的 25 年間,官方總結了一些經驗教訓。

自 2005 年以來,來自 1300 多家不同公司的約 14000 名開發人員對內核做出了貢獻。這麼大的工程量,這麼多的參與人數,實屬不易。

Linux 總結了內核開發 25 年來,9 個經驗和教訓,供大家參考:

1.縮短髮布周期非常重要

在 Linux 項目的早期階段,新的主要內核版本,幾年發布一次。

這意味著新功能會有很大延遲。但是更重要的是,長周期也意味著代碼上的壓力。

短髮布周期解決所有這些問題。在不改變很多代碼的情況下就能更新核心功能。

2.分散式的分層開發模型,助力流程的可擴展

在開始的時候,所有的改變都要經過 Linus Torvalds,這樣是非常繁瑣笨重的解決方式。在這之後,內核不同部分被指派給了熟悉該領域的團隊或個人。

例如,網路,wifi,不同的驅動程序子系統,如 PCI 或 USB,或不同的單獨文件系統,如 ext2 或 vfat。

3.工具很重要

內核開發難以擴展,直到 BitKeeper 源代碼管理系統的出現,幾乎一夜間扭轉了這個難題;之後的 Git 帶來了又一次飛躍。

沒有正確的工具,像內核這樣的項目難以實行。

4.共識大於獨裁

Linux 社區沒有特權用戶,沒人能夠以犧牲其他組群為代價而做更改。

5.規則的重要性

十年前,內核開發人員在社區承諾,如果某內核支持某個環境,那麼該內核的後續版本也要支持這個環境。該規則使用戶保證升級不會破壞其系統。因此,他們願意在開發新功能時遵循內核規範。形成了一個良性循環。

6.企業參與至關重要,但沒有一家公司主導內核開發

近 500 家公司的大約 5062 名個人開發人員,自 2014 年 12 月的 3.18 發布以來,已經為 Linux 內核做出了巨大的貢獻。

儘管任何一家公司都可以根據具體需求改進內核,但是沒有任何公司可以主導內核的發展方向。

7.項目內部不應有邊界

雖然,內核開發者應該聚焦於內核的指定部分,但是如果認為其他更改時合理的,那麼他可以對內核其他的部分進行更改。

這樣的好處顯而易見,可以打開開發者對於內核更廣闊的視角。

8.關鍵性開發可以從細微處著手(小步快跑)

原來的 V0.01 內核只有 10000 行代碼。

現在它每兩天就新增超過 10000 行以上的代碼。開發人員現在添加的一些基本的,微小的功能將來會發展成為重要的子系統。

9.最重要的是,25年的內核歷史表明,開源能夠帶來巨大的社會效應

自 2005 年以來,來自 1300 多家不同公司的約 14000 名開發人員對內核做出了貢獻。

而開源,也讓 Linux 成為了一種社會資源。

原文:9 lessons from 25 years of Linux kernel development

日報相關閱讀:

  • 祝賀 Linux 25 歲:25 個關於 Linux 的驚人真相!

  • The mind behind Linux - Linus Torvalds 訪談

歡迎關註:

  • 知乎專欄「極光日報」,每天為 Makers 導讀三篇優質英文文章。

  • 極光開源項目:Aurora UI,一個通用 IM 聊天 UI 組件。

推薦閱讀:

作為初學者如何讓選擇閱讀代碼以及參與一些開源?
一張圖看懂開源許可協議,開源許可證GPL、BSD、MIT、Mozilla、Apache和LGPL的區別
今天就安裝 Linux !
為什麼國內軟體很少帶有開源許可?

TAG:Linux | Linux内核 | 开源 |