作者丨小智
嘉賓丨陳棋德
陳棋德,一位 50 歲的作業系統老兵,在中國 Linux 發行版研發領域砥礪耕耘了二十餘年。為什麼他會選擇看起來過於「硬核」的作業系統研發工作,一幹就是這麼多年?為什麼他認為中國的 Linux 系統一定不能只做衍生版?在他眼裡,中國基礎軟體的現狀又是怎樣的?帶著這些問題,InfoQ 記者採訪了陳棋德。在 12 月 25 日即將舉辦的 openEuler Summit 2020 上,陳棋德還將做專題分享,敬請期待。
1
二十年專注一件事:作業系統研發
1996 年 7 月,陳棋德碩士畢業進入到中科院計算機網絡信息中心工作,正式接觸到了 Linux 系統。時隔多年,他仍清楚地記得當時使用的是 Slackware 的 3.1 版本。1999 年 7 月,陳棋德加入了北京拓林思軟體有限公司(Turbolinux)從事 Linux 發行版的研發工作,一幹就是二十年。
20 世紀 90 年代,計算機在國內遠未普及,投身作業系統開發的人數更是鳳毛麟角。
國內我知道最早投身作業系統開發的人都在中科院和一些大學裡,比如中科院軟體所的孫玉芳老師。(孫老師已於 2005 年病逝)
談到與作業系統結緣的經歷,陳棋德表示故事其實很簡單。學生時代,陳棋德學的就是計算機專業,與現在不同的是,當年學計算機的人並不多。在中科院計算所讀書期間,陳棋德接觸到了開源軟體,產生了對底層技術的興趣。
當時我很高興能夠看到作業系統等底層技術的代碼,當有來自 Linux 領域公司的機會時,毫不猶豫地就選擇了加入 Turbolinux,與 Turbolinux 三劍客一起工作。這些年一直從事基礎軟體方面的工作主要是源自對技術的興趣和對開源理念的認同。
陳棋德在採訪中笑著提到,年紀大了以後,很多事情都記不住了,當年學源碼基本上過目不忘,現在看舊代碼卻總是忘記當時為什麼要這麼寫。這 20 多年發生過很多故事,記憶雖有模糊,有三件事卻給他留下了深刻的印象:
早年間,公司曾邀請自由軟體運動發起人 Richard Stallman 訪問中國。爬長城時他提到一年只用工作 6 到 7 周就能滿足生活需求,其他的時間專注做自己想做的事情。從那個時候我就認識到從事開源軟體工作還是需要在一個富裕的社會背景下,這樣大家才可以做自己喜歡的技術方向的工作。
二是在 Linux 的發展初期,公司的研發高手利啟誠等人只用了一天時間就取得了重大突破,實現修改內核代碼在字符終端上顯示中文的特性。利啟誠也是內核文件系統 InterMezzo(2.4.15 版本加入) 的三個主要開發者之一,他是國內在早期就能參與 Linux 內核開發的程式設計師。身邊的內核高手給我留下深刻印象。
三是 Turbolinux 在拓荒企業級服務市場時曾攻克的一個技術難題。當時的背景是在電信行業,某通訊公司百萬行代碼的應用在 Linux 2.4 上性能不佳,胡欣蔚(現 openEuler 社區技術委員會主席)等人去了現場和對方架構師交流,找出了其軟體架構未能發揮 OS 性能的根本原因,最終提升了 3 倍的效能。這是我碰到的第一個讓應用在 OS 層面充分發揮硬體性能的企業級實踐經歷。
陳棋德對作業系統一直有一個觀點:國內要想有很好的發展,一定不要滿足於只做 Linux 的衍生版,而是要去做一個開源的、生態良好的作業系統。在 openEuler 作業系統出現以後,他覺得時機到了。
2
與 openEuler 結緣的故事
openEuler 是一個開源、免費的作業系統平臺,自開源至今,短短一年時間已經有 2000 多位貢獻者,70 餘個 SIG 組,社區迅速發展壯大。
今年,陳棋德正式加入了 openEuler 社區。但其實,他與 openEuler 的緣分在很久以前就開始了。
前文提到的 openEuler 社區技術委員會主席胡欣蔚,多年前就曾與陳棋德一起共事。openEuler 技術委員會的另一位委員熊偉,早年間也曾在 Turbolinux 工作,某種意義上,陳棋德算是他的入門師傅。
我一直比較關注國內的 Linux 行業,了解到 openEuler 的技術路線後也跟他們做過多次交流,最終選擇了加入社區一起貢獻。目前在社區我主要負責 xfce 和 gnome 兩個 SIG 組,在提交包的過程中也參與測試了 openEuler 社區的基礎設施。其他時間還會跟蹤內核和編譯器等底層方面的包,並和國外 Linux 版本做對比,以便更好地了解 openEuler 的優勢。
陳棋德表示,要做好一個獨立的 Linux 發行版需要龐大的開發者群體。以 Fedora 為例,其開發人員規模在 3500 人左右,而其中的大部分人員都是上遊社區的開發人員,能統計到的 Red Hat 公司的開發者就有七百人之多。這意味著,能參與到上遊社區開發的人員,最差的也是編程能力出眾的高水平程式設計師。
我很高興看到華為把世界一流水平的基礎軟體底層能力開放出來做 openEuler,我也期待 openEuler 能夠越做越好,成為國際主流的 Linux 發行版。開源作業系統成功的關鍵無外乎二者:完善的生態和廣泛的產業鏈支持。構築生態的前提是自己做得足夠好,這就要求技術上我們儘可能地做到 upstream first,希望在不就的將來 openEuler 社區開發人員的 upstream 人員數量能夠超越 Fedora。
CentOS 8 將於 2021 年底停止維護的大新聞與這次採訪不期而遇,此次事件不論是在 openEuler 社區還是作業系統行業內都引發了廣泛的討論。陳棋德表示,CentOS 8 的用戶其實可以繼續用其他 RHEL/CentOS 的衍生版本,比如 Oracle Linux 就表示用戶可以使用其替代 CentOS。而在另一個層面上,他表示用戶也可以嘗試遷移到 openEuler 上,因為開源作業系統的好處就是去廠商綁定,多一個選擇對遷移不是難事,對社區都是好事。
3
中國基礎軟體:要技術,更要市場
在很多圈外人看來,國內作業系統行業發展不盡如人意。而陳棋德卻認為,在 Linux 內核層面上,中國的發展其實並不算差。
數據統計顯示,Linux 內核來自中國程式設計師的貢獻已經排在世界第二,僅次於美國。Coly Li 寫過一篇名為《Linux 內核在中國大發展的黃金十年》的文章,系統介紹了最近十年國內內核發展的情況,我的觀點與他相同。
以 Linux 為例,國內作業系統目前技術實力已經今非昔比,而且有能力參與 OS 市場的商業競爭。最近幾年華為連續出現在 Linux 內核貢獻前列的名單中,今年更是已經到了世界第二。在開源作業系統方面,國內的各大科技巨頭也有廣泛投入。
真正與國際相比,不足之處仍在於我們大牛層面上的人數還不夠多,在最高水平方面有所差距。
我認為國內作業系統可能的機會有幾個方向。首先還是希望 openEuler 能做到成功,因為它本身處於 Linux 的成熟期內,又建立起了科學、規範化的社區治理模式。另外的新興產業如物聯網作業系統也存在很大機會,我本人也在持續關注 Linux 在物聯網方面的應用,同時也關注了很多國內外物聯網作業系統的發展動向。
上層軟體一直是聚光燈下的焦點,而基礎軟體如作業系統卻稍顯「硬核」,不夠「性感」。很多人認為這或許也是作業系統行業人才青黃不接的原因所在。
但陳棋德卻不這麼看,他認為技術在這個裡面只是很小的一個因素,最重要的仍舊是市場規模的問題。
個人認為人才斷檔的本質原因,是國內作業系統行業市場規模太小,不足以養活太多從業人員。我之前看過 IDC 的報告,2019 年國內 Linux 市場規模只佔 9 億,國內 Linux 廠商分得 2 億。所以從市場規模的角度看,無法支撐起一個龐大的從業人群規模。Linux 內核在國內經過了十年的快速發展,人才是足夠的,但是國內 Linux 作業系統市場規模太小,導致很多作業系統人才去做了別的開發工作比如存儲等等。和美國相比,國內基礎軟體市場佔 GDP 的比重遠小於美國。我覺得隨著經濟的發展,如果能夠建設和發展處一個良性的基礎軟體市場,具備足夠的市場規模,到時候自然會有更多年輕人加入到這個行業中來。
活動推薦