在Linux內核社區當開發者是種什麼感覺?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年 5 月,經過 Linux Kernel 社區成員的共同努力,Linux Kernel 5.10 維護週期最終確定從 2 年延長至 6 年。作爲 Linux 社區的主要貢獻者之一,華爲公開承諾投入資源,協助進行 Linux Kernel 測試和補丁回合。基於 Linux 內核的 openEuler 操作系統於 2019 年正式開源,至今已經發布三個版本,按照版本計劃,openEuler 22.03 將於明年發佈,並將基於 Linux Kernel 5.10 構建。openEuler 的快速發展離不開 Linux 內核的穩定開發,更離不開內核開發者的辛勤付出。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"幾千名內核開發者維護着有近 3000 萬行代碼的 Linux 內核,保證了無數設備、機器和系統的正常運轉。正因爲這些開發者參與社區,貢獻社區,Linux 才能從一個個人項目發展成世界級的開源項目。內核開發者怎樣參與社區?如何爲 Linux 內核社區做貢獻?它們在社區都有哪些收穫?……帶着這些問題,InfoQ 與三位 Linux 內核開發者兼 openEuler SIG 組成員聊了聊。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"俞玉芬:90 後的女性內核開發者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"俞玉芬參與 Linux 內核社區已有三年時間,累計爲社區貢獻了 60+ 個補丁。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/de\/de94e7252330cc419b89366c374c988f.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"俞玉芬"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2017 年從中國科學技術大學碩士畢業後,俞玉芬進入了華爲,在內核存儲項目組工作。她所在的項目組主要關注 Linux 存儲領域,她具體參與的是 Linux 存儲 IO 棧相關工作。對她來說,“以前沒有接觸過 Linux 社區,只是研究方向與內核有關”。在內核存儲項目組,團隊氛圍非常開放,奉行“"},{"type":"text","marks":[{"type":"strong"}],"text":"來源社區,回饋社區"},{"type":"text","text":"”的理念,鼓勵大家多給 Linux 社區做貢獻,於是俞玉芬開始接觸 Linux 社區。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過,想成爲 Linux 社區開發者並不容易,她雖然訂閱了很多與存儲相關的社區郵件,“但基本看不懂郵件裏討論的內容。同時,看內核代碼時,我覺得代碼非常好,沒什麼 bug。並且,我也沒有什麼新想法,完全沒信心可以參與進來”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"俞玉芬向 InfoQ 坦言,“整體感覺內核社區的門檻特別高,好難!”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,社區文化給了她信心,“感覺社區的技術氛圍很好。這是一個非常好的學習平臺。如果能靜下心來慢慢看代碼,可以學到很多新東西,從而激發自己的興趣”。Linux 內核很複雜,涉及領域非常多,她逐漸意識到要先從理論上了解這個功能或特性,再去看代碼。只有不斷地學習,才能慢慢深入,這是一個循序漸進和不斷積累的過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"入門後,她嘗試爲社區做貢獻,2018 年向社區提交了第一個補丁,這個補丁是關於 F2FS 的小特性,讓 F2FS 支持 cgroup writeback。爲什麼提交這個補丁?她說:“看代碼時,我發現其他文件系統都支持這個特性,但是 F2FS 是不支持的。在跟內部的技術專家討論後,我們覺得可以做。然後進行開發,本地驗證。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於經驗不足,她寫出來的補丁存在一些問題,內部的技術專家就幫她 Review 代碼,最後補丁修改了好幾遍才提交到社區。而維護者認爲這個補丁挺有價值,就接受了它。在她看來,爲社區做貢獻需要堅持,不能輕言放棄。這個感悟源自她的親身經歷:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2020 年,產品在 ARM64 平臺上使用 RAID5 時,我發現 RAID5 在 PAGE_SZIE 爲 64KB 的情況下存在寫放大問題,進而影響上層應用。並且,這個問題也存在於社區主線代碼。經過跟社區討論後,我認爲修復這個問題很有價值。之後,與技術專家一起討論方案。在確定方案後,我首次向社區提交了一組特性補丁集。剛開始,並沒有信心補丁集能被接受,經過反覆討論,補充測試數據,針對社區提出的反饋一遍一遍的修改,一直到第八個版本才被接受,最終合併到 Linux 5.10 版本。從開始投入到最終合併補丁,前後花費半年時間。這個過程需要韌性,需要堅持。如果你不堅持,那這件事最終就沒了。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"據 InfoQ 獲悉,"},{"type":"text","marks":[{"type":"strong"}],"text":"從 2018 年到現在,俞玉芬累計爲社區貢獻了 60+ 個補丁"},{"type":"text","text":"。看到自己提交的補丁被接受,得到別人認可,“覺得自己的工作挺不錯,有價值”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"她說:“我能從 Linux 社區日誌裏找到屬於自己簽名的代碼,它們在全世界被使用,跑在無數的機器上。我覺得挺有成就感。“"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從個人角度來說,參與社區,貢獻社區,也給俞玉芬的成長帶來了極大幫助。在她看來,一是通過參與社區,提升了自己的溝通表達能力。因爲內核社區的日常溝通主要通過郵件,“剛參與社區時,寫郵件經常‘詞不達意’”,而現在則學會了用郵件進行高效溝通。二是通過貢獻社區,學習優秀開發者的諸多經驗。這不僅讓她對其他領域有更多的瞭解,而且大大提高了思考深度。“社區對我提交的補丁反饋了很多寶貴的意見,比如補丁是否會引入其他問題、有沒有更好的修復方法等。這些方面的積累都能幫助到自己,並提高個人的開發能力”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不論性別男女,還是年紀大小,你都可以參與 Linux 內核社區。這已經被俞玉芬證明了。通過不斷學習,沉澱知識,積累經驗,她從一名小白順利成長爲初級 Linux 內核開發者。更重要的是,在這個過程中,她不僅增長了見識,自身能力得到極大的提升,而且讓自己的代碼在全世界被使用,獲得很大的成就感。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"吳峯光:Linux 就是我的遊戲"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳峯光,接觸 Linux 超過 20 年,曾因社區貢獻獲得 Linux 之父 Linus Torvalds 的好評。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c9\/c909bd8797f2b76ff5fb8c9ad96d092b.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"吳峯光"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳峯光在 1998 年開始學習 Linux,此時,他還在中國科學技術大學讀書。最初,他和大家一樣學習 Windows,但後來無意中接觸到 Linux。同學給他取了個不食人間煙火的綽號——“"},{"type":"text","marks":[{"type":"strong"}],"text":"老神仙"},{"type":"text","text":"”,但他卻逐漸迷上 Linux,“發現它真的好,非常開放,一旦學會後終身受益。並且,一旦過了 Linux 門檻,它的效率就很高。此外,它是開源開放的,對技術人員非常友好,可以從中學到很多東西“。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳峯光說:“我平時沒有打遊戲的愛好,Linux 就是我的遊戲。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前,吳峯光已經爲社區做了 "},{"type":"text","marks":[{"type":"strong"}],"text":"16 年貢獻"},{"type":"text","text":",而第一次爲社區做貢獻是在 2005 年。那時,他首次向社區提交補丁。但是,補丁提交上去後沒有任何響應。爲此,他感到很納悶,因爲一般而言,開發者向社區提交補丁後,社區會有開發者反饋,即挑毛病。即使沒有反饋,他也在改進補丁,繼續向社區提交,“幾個月後,收到社區的一個回覆,真的很激動,但是那個補丁仍然不被接受”。在花了兩年時間,累計寫了十幾個版本後,這個補丁才真正被接受。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2012 年由於爲 Linux 社區提供自動化測試服務的 0day\/LKP 系統,他不僅受到廣大 Linux 內核開發者的讚譽,而且獲得 Linux 之父 Linus Torvalds 本人的好評。因爲這個系統極大降低了新內核發佈的編譯與啓動錯誤、性能 regression 等問題。爲什麼會開發這個系統?據吳峯光回憶:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"那時,我的工作最初是做預讀和回寫優化,本質是對 Linux 內核的一些算法進行優化。由於 Linux 內核的使用場景非常廣泛,因此需要大量測試證明改進是有用的。每做一個新測試就會發現一些問題,然後進行修改,測試量大概佔了整個工作的一半時間。其次,大家在參加 Kernel Summit 時談到對 Linux 的擔憂——它的複雜性不斷增長。複雜性不僅會導致這個項目超出大家的維護能力,而且會讓它失去對新人的吸引力,因爲新人只有先理解一個系統,才能去修改它。此外,複雜性還會讓系統失去演進能力,導致開發者很難修改系統,因爲牽一髮而動全身。如果任由內核繼續膨脹,最終它會壓垮自己。另一個重要因素是所在的內核組正考慮弄一個構建測試,後來把目標擴大,不僅僅只考慮自己所在的內核組,而是爲整個社區提供服務。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了做這個測試系統,吳峯光另闢蹊徑。傳統上,“先跑一些測試用例,跑完後把所有問題放在一個 Web 界面,讓開發者們看”。他直言,“這個效果不好。因爲 Linux 社區很大,有幾千個開發者,把一堆測出來的問題放在 Web 界面,裏面有噪音,可能只有幾個問題與自己有關,大部分都是別人子系統的問題。這就導致測試系統與開發者之間是割裂的,它沒有一個好的指向性”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"吳峯光抓住一些關鍵點進行改進,按照自己的思路設計,定義出關鍵要素,可以精準識別開發者的痛點。同時,好鋼用在刀刃上,聚焦關鍵點"},{"type":"text","text":"。剛開始,這件事的挑戰不小,只有吳峯光一個人,一臺機器,最初的測試系統甚至連 Web 界面都沒有,測試很慢,”我後來在實驗室用各種途徑搜刮可用資源,慢慢才積累起更多的測試資源。在成功後,更多人才加入進來“。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他說:“我每個開發都要實實在在的,做那種能落在開發者心坎上的功能。”最終,這個測試系統獲得很大成功。那段時間,每天都有人發郵件感謝吳峯光。甚至參加 Kernel Summit 時,開發者們集體給吳峯光鼓掌,“那是我參加 Kernel Summit 後從未遇到的事,以前也沒有這樣的事”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"十幾年參與 Linux 社區的過程中,他對核心開發者的郵件印象深刻。“我特意把 Linux 郵件列表的一部分人用語法加亮,因爲他們寫的郵件很值得閱讀,比如 Linus Torvalds”。這些核心開發者很善於在郵件裏表達觀點,郵件內容可以寫的非常生動和活潑,“感覺就像本人在那裏講話一樣”。在他眼中,內核社區的所有核心開發者,郵件的表達能力都非常強。在郵件裏就某一話題進行討論或辯論時,提出鮮明觀點,擺事實,講道理。同時,其邏輯性非常強。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以 Linux 爲遊戲的吳峯光,爲社區做了 16 年貢獻,早已是資深 Linux 內核開發者。想成爲資深 Linux 開發者,不是靠權力、財富或地位,而是看你對社區的貢獻。更大的社區貢獻意味着你能贏得更廣泛的讚譽,即我爲社區做貢獻,我因社區更精彩。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Mauro Chehab:從一名終端用戶到 Linux 社區核心貢獻者"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/92\/922ddf2f50fb175eab82abe1c3c11df5.webp","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"Mauro Chehab"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mauro Chehab 是華爲 Linux 內核專家,自 2005 年以來一直擔任 Linux 內核 Media 子系統維護者。據他介紹,Media 子系統涵蓋了對各種設備的支持,還支持 HDMI 接口功能。作爲維護者,其主要職責是審查向 Media 子系統提交的代碼,檢查代碼質量是否過關,是否可以添加到內核中,並向開發者對打回的修改提供反饋建議。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"據悉,他最早是 Linux 的終端用戶。爲了將本地網絡的數據包路由到互聯網,他安裝了 Linux。上大學時,他對信號處理領域產生了興趣,還寫了這方面的本科和碩士論文。當打算再進修時,他買了一張支持 Linux 的電視採集卡,用來開發一些編碼視頻的工作。然而,在測試卡時,“我注意到驅動程序上有一個錯誤,導致它無法與巴西的電視編碼系統一起工作。所以,我開始修復它的代碼”。修復方法很簡單:雖然巴西電視標準使用的顏色信號頻率與美國的非常接近,但兩者間的差異足以讓敏感的主板濾波器拒絕信號。雖然這個修復很微小,但是他花了兩週時間理解代碼,閱讀芯片文檔,才確定錯誤的位置。在修復結束後,他添加了兩行額外的代碼讓驅動程序感知這種差異。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在寫出補丁後,Mauro Chehab 便向社區提交。他說:“一位熱情的內核開發人員指導我修改補丁,並且介紹了 Linux 編碼風格。根據 Linux 編碼風格,我又重新修改了幾次。“"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"成功提交第一個補丁後,他在 Linux 內核社區非常活躍,開始修復驅動程序其他幾個錯誤。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這引起了開發人員的注意,他們也請求 Mauro Chehab 幫他們提交代碼。事實上,當時 Media 維護者轉移到另一個子系統,正好缺人,這樣 Mauro Chehab 成爲了這個子系統的維護者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“在工作幾個月後,以前的維護者看到我的工作,在交談後,我們發了一個補丁,宣佈從那時起,我正式擔任 Media 維護者。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對 Mauro Chehab 來說,Linux 社區每個版本聚合了 2000 多個來自不同文化習慣和時區的貢獻者,“持有不同見解的貢獻者,我相信這是 Linux 內核維護工作中最具挑戰性的部分”。這種巨大的多樣性讓 Linux 成爲一個如此龐大而重要的系統。但這也帶來了相當大的挑戰,即如何融合和使用這些想法與觀點,讓整個系統順利運行,並帶來全面的改進,幫助來自全球所有國家的人們。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作爲維護者,他工作的大部分時間主要審查提交的補丁,並作出反饋。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他表示,“我們一直歡迎新的社區貢獻者加入,成爲開發人員的唯一基本要求就是對它感興趣。不要害怕交談或提問,我們向來歡迎並且樂意幫助每個人。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mauro Chehab 不僅是 Linux 內核 Media 子系統維護者,而且是 Linux 社區核心貢獻者和維護者,並在 Fedora 社區和 KDE 社區維護多個核心包。他在 Linux 5.8 版本補丁數和修改代碼行數均排名第一,提交代碼 549 次,佔比 3.4%,修改代碼行數佔到所有人修改的 1\/4。並且,他在 Linux 5.10 的版本貢獻排名第二。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"究竟是什麼支持他 16 年來不斷爲 Linux 社區做貢獻?他回答:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我之所以持續爲 Linux 社區做貢獻,是因爲我有機會協助開發一個在全球範圍內使用的現代操作系統,它可以在大量設備和計算機上使用,爲許多不同的硬件提供支持,其功能每 2.5 個月更新一次。我有機會在變化最多的領域工作。最近用於從火星表面視頻製作的機智號直升機使用的就是 Linux。所以,現在我們的代碼已經衝出地球,到達了另一個星球!我很自豪能夠爲這樣的成就做出某種貢獻。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在 Mauro Chehab 看來,Linux 社區的主要價值觀念是開源。這樣,任何人都可以訪問 Linux 的源代碼,將其用於任何目的並將改進它。這意味着人們可以從代碼中學習,任何人都可以隨時隨地對它做出改進。它有一個非常包容的環境,所以吸引和招募了來自不同國家和文化的開發者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"十幾年 Linux 內核維護工作讓他遇到過很多偉大的開發人員,並在採訪中重點提到了以下五位:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Linus Torvalds 作爲 Linux 創始人,他是一個非凡的開發人員和維護者,能夠從一開始就協調內核開發。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Greg Kroah-Hartman 是一位非常有才華的開發人員和維護人員。他管理 staging tree,這對初學者來說是一個有趣的地方,因爲它包含的驅動程序不完全遵循編碼風格,需要進一步的審查和編碼。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Jonathan Corbet 撰寫了一些 Linux 著作,他爲 Linux 內核開發人員維護了一個非常有價值的網站,專注於開源和 Linux。他也是文檔子系統的維護者,並開發了幾個 Linux 驅動程序。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Randy Dunlap 讓我最難忘。當我開發內核的第一個補丁時,他幫了我很多忙。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Andrew Morton 的工作也很出色,他除了維護內存子系統,還主動去維護那些無人維護的子系統,合入補丁。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在採訪最後,他說:“爲 Linux 工作是令人高興愉快的,我覺得做自己真正喜歡的事情,並能夠在世界和社會中帶來影響,真的很有成就感。作爲華爲團隊的一員,我們專注致力於幫助 Linux 內核改進,爲其添磚加瓦。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以開源爲核心,Linux 社區的包容、開放氛圍似乎具有一種魔力,源源不斷地吸引着來自全世界的優秀開發者。這或許纔是 Linux 社區的生命力。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"寫在最後:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"無論是俞玉芬,還是吳峯光,或 Mauro Chehab,他們不僅是 Linux 內核開發者的代表,而且是 openEuler 社區的內核 SIG 組一員。正是因爲有他們的貢獻,Linux 內核才能越來越好,而這也爲 openEuler 社區的蓬勃發展奠定了堅實的基礎。openEuler 社區從成立到現在,已經擁有 5200+ 社區開發者,社區版本下載量超 15 萬。社區迅速發展壯大,版本如期穩定發佈。這一切都離不開開發者的辛勤付出,向每一位開發者致敬!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年也是由華爲來主辦中國內核屆最有影響力的峯會 --“中國 Linux 內核開發者大會”(簡稱 CLK)。CLK 以“自由,協作,創新”爲理念,以開源技術的推廣和普及爲使命,旨在促進 Linux 內核開發愛好者相互交流、共同進步。由英特爾、華爲,阿里巴巴、富士通南大軟件、清華大學,今日頭條、麒麟軟件,統信軟件等企業組織,每屆線下參會人數近 500 人,舉辦至今已是第十六屆。openEuler 社區也會積極參與到 CLK 大會中。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章