軟硬體協同、雲邊端協同已經成為 IT 世界發展的下一個趨勢,作業系統成為了居中調度的中樞神經。openEuler 是一個開源、免費的作業系統平臺,自開源至今,短短一年時間已經有 2000 多位貢獻者,70 餘個 SIG 組,社區迅速發展壯大。InfoQ 記者對 openEuler 技術委員會委員熊偉博士做了專訪,以挖掘 openEuler 生命力背後的故事與邏輯。
1
開源初心:openEuler 開始的故事
InfoQ:華為開始研發 openEuler 的背景是什麼?為什麼最終選擇了將它開源出去?
熊偉:華為早在 2010 年左右就開始研發自己的作業系統 EulerOS,經過十年的打磨最終選擇開源的主要原因是隨著業務的發展,華為已經開始進入到圍繞計算產業構建全方位生態的戰略階段,在這個過程中,作業系統是非常重要的一環,EulerOS 發揮著一個承上啟下的作用。因此,華為決定將 EulerOS 開源,開源後命名為 openEuler,和行業夥伴一起共同構築計算產業的底座。
InfoQ:openEuler 在研發過程中遇到過最大的挑戰是什麼?有哪些印象深刻的故事可以跟大家分享一下?
熊偉:從純技術的角度看,openEuler 並沒有遇到非常大的難題,不論是內核、編譯器還是虛擬化、容器等基礎核心技術,華為都有非常深厚的儲備,在國際上也是排在前列的。把這些不同的系統技術組合成完整的作業系統,技術層面上對華為沒有難度。
真正的困難還是在於理念:我們如何做作業系統,作業系統行業規律是怎樣的,開源和作業系統兩者組合下的商業模式是什麼?研發規律是什麼?如何形成一個良性的社區機制?這些其實是最困難的地方。
我覺得比較幸運的是,華為公司內部從四五年前逐步開始理解這些產業規律,選擇了開源的戰略決策,同時堅定地把作業系統當做一個產業來做,這是一個非常巨大的轉變。我們後面還會有更多挑戰,但是萬裡長徵的第一步我們解決了,未來將有無限可能。
2
技術積累:打好底座再做突破
InfoQ:能否給大家分享一下 openEuler 的技術架構,相對於同類型產品,它的優勢體現在哪些方面?
熊偉:作業系統的應用範圍很廣泛,涵蓋 IOT 設備、終端設備到伺服器、雲等場景。分界點是邊緣計算,往上的伺服器、雲場景下,作業系統的形態比較固定和統一,但是往下的 IOT,終端等領域作業系統的形態就會變的非常多樣,因此,針對這樣的產業情況,我們會有兩個目標。
第一個目標,首先是做一個伺服器的發行版,讓雲和伺服器都能用上。
第二個目標是構建一套完整的工具,使之能夠從標準發行版剪裁、定製出適合不同場景的小 OS。
對於所謂技術優勢,我個人並不傾向於這種說法,因為 openEuler 是開源的作業系統,開源的特點就是我今天把它開放給社區以後,其他廠商馬上就能享受到技術紅利。反之亦然,當別人好的特性開源出來以後,我們也能享受紅利。我們更希望是與行業的夥伴一起共同把 IT 的基礎底座打牢,做得更好,這是我們的目標。
InfoQ:能否給大家介紹一下 openEuler 最新發布的 20.09 版本的新特性?開發者可以通過什麼渠道去試用?
從特性的維度看,openEuler 國內首次支持了 RISC-V 體系架構,支持了樹莓派。發布了全新虛擬化平臺 StratoVirt。此外還有機密計算框架 secGear,安全框架 IMA 等等。同時隨著麒麟軟體貢獻了 UKUI,openEuler 也終於有了圖形化界面。這幾點都是非常振奮人心的進展。
InfoQ:在 Linux 內核層面,openEuler 都做了哪些具體的工作?
熊偉:openEuler 在內核上的貢獻比較廣泛,主要體現在對 ARM 體系架構的支持上。在 5.8 Kernel 上,華為是全球貢獻第二的廠商。除此之外,在安全、性能、多核等方面,華為也都做了非常多的貢獻。但我們對內核團隊的期望還是比較高的,除了體系架構、驅動、底層硬體支持以外,也期望未來能夠在內核的基礎框架層面,華為能持續提供創新的貢獻和思路。
InfoQ:openEuler 是一種支持多算力架構的作業系統,主流的 x86、ARM、RISC-V 這些架構都支持,技術上實現的難點是什麼?適配上都做了哪些工作?
熊偉:目前 Linux 對不同體系架構的支持做得不錯,從體系架構的層面看難度並沒有那麼大,現在支持一個新的體系架構相對不是那麼困難。但是因為不同晶片廠商 BSP 的差異比較大,可能存在一定的衝突,所以需要做一些適配。但這只是第一步,除了能跑起來,怎麼樣跑好才是一個大問題,充分發揮處理器的算力有非常多的工作要做。理論上來說,無論是對內核、晶片還是體系架構的支持,越往上走,性能調優方面的工作就會越重要。
3
打破定局:如何構建作業系統新生態?
InfoQ:openEuler 社區的 SIG 組是什麼?社區後續發展計劃是怎樣的?
熊偉:SIG 組全稱叫 Special Interest Group,特殊興趣小組。如果把一個開源社區比作一個公司,那麼 SIG 組就相當於一個個不同的職能部門,比如開發一部、開發二部、財務部之類的。大型 / 綜合性開源社區很多是以 SIG 組作為基本的組織單元。
比如在 openEuler 社區中,如果想開發一個圖形化界面,如何去做開發和承載呢?這時候就需要組織一撥人去做這個事情,實際上 SIG 組就相當於承載了這個職能。SIG 組裡的工作流程、工作方式、技術演進方向,都在 SIG 組內進行討論。如果大家有很好的想法,或者希望在 openEuler 社區中去做一個新的領域,我們很歡迎大家在 openEuler 社區中申請一個 SIG 組,把領域內的好手聚在一起,共同開發。
在 SIG 組之上,我們有 TC 委員會,就是技術委員會,TC 對這些 SIG 組起到輔導,促進,監督的職能。SIG 組不是一成不變的,是動態的。社區內的 SIG 組可能會撤銷、合併、分裂,這完全取決於社區的演化,在這個過程中,TC 不會幹涉 SIG 組的技術方向,但會對 SIG 組之間的關係做協調,當 SIG 組之間產生無法自行協商解決的衝突的時候,TC 做最終的裁決。
目前 openEuler 社區的治理遵循扁平化的原則,主要包括理事會、秘書處、技術委員會、安全委員會、SIG 組五類組織。理事會和秘書處主要負責社區的運營工作,技術委員會、安全委員會和 SIG 組主要負責技術層面的工作。安全委員會相對獨立,它對整個社區的安全負有監督重任,不受其他組織幹預,確保獨立性。我們也期望通過這種扁平化的管理實現開放和高效兩個目標。
openEuler 社區發展的方向是比較明確的。從代碼 release 到現在,也就十一個月時間,第一個正式版本今年 3 月份發布距今也就半年多,在這個初始階段:
首先是把作業系統的完整性、易用性問題解決。目前社區已經有 70 多個 SIG 組,基本涵蓋了作業系統的大部分功能領域,但仍舊有不少缺失的地方需要補齊。
第二個發力的維度是安全。隨著全面雲化的到來,加上邊緣計算開始興起,安全的重要性凸顯出來了。20.09 版本上我們發布了 IMA、secGear 等安全可信新特性。在明年將發布的 21.03 版本上,還會有更新的安全技術特性發布,敬請期待。
第三方面是性能,作業系統在性能層面要充分發揮不同體系架構的算力,這也是我們非常重視的方向。
最後一個大的方向是雲原生化,雲原生的理念橫跨完整性、易用性、安全性,未來會逐步地對作業系統產生非常大的影響,對我們而言云原生是一個自然的演化過程。明年的某個版本上,大家會看到我們新一代雲原生作業系統的原型發布,這個很值得期待。
InfoQ:技術架構的搭建相對容易,一個健康、壯大的生態卻很難。在同類型作業系統已經相對成熟的情況下,您認為 openEuler 社區持續生長的根本原因是什麼?
熊偉:作業系統行業多年來只有幾個傳統的大玩家,成熟穩定就意味著很少有突破,很少有成功的創新的嘗試。openEuler 希望在這個成熟的領域做更大膽的嘗試。在技術路線的選擇上,openEuler 想法會更加前沿,我們會期望更多新技術甚至是尚不成熟的技術在我們的社區裡孵化。
從技術演化的角度來看,不論是從硬體層面還是業務層面,IT 世界已經在發生潛移默化的巨大變革,對於作業系統而言,變革的時間點也已經到來。當我們把這個社區建立起來以後,你會發現國內蘊含了巨大的能量,只是以前沒有出口和渠道。當 openEuler 出現以後,各種廠商、各個技術團隊甚至個人都爆發出了驚人的潛力,碰撞出了非常多的想法,我們相信中國的開源土壤和文化也在不斷地形成。
最重要的一條,我認為還是商業邏輯。openEuler 做出來以後,不光為了服務華為,我們更期望它能夠成為行業內共同維護的一個底座式的平臺。我們對於體系架構沒有偏向性,任何的 ISV、OSV 我們都持歡迎態度,大家都能在 openEuler 上獲得商業利益,即使是競合關係也能促進行業的持續發展。我相信以上是促使 openEuler 在國內快速發展的原因。
4
層層質疑:國產作業系統有多難?
InfoQ:開發者對國產作業系統的印象就是換皮 Linux,openEuler 有沒有遇到類似的質疑,您怎麼看這個問題?造成這個現象的根因是什麼?
熊偉:首先這個質疑是對的。國內作業系統行業長久以來確實存在這樣的問題,所以 openEuler 期望能徹底地改變這個格局。
這要從作業系統到底是怎麼構建起來說起,大家通常都關注 Linux 內核 kernel,實際上一個標準的 Linux 作業系統非常複雜。以伺服器作業系統為例,通常由 4000 - 5000 個軟體共同組合而成,kernel 只是其中之一。如果是桌面系統,軟體總量甚至上萬。
如果以蓋房子的比喻來形容作業系統的構建,這一個個構成作業系統的軟體就像長在森林裡原木,國外的社區,廠商是從森林裡採伐原木,加工設計、建造成一個作業系統的房子。而以前我們國內的廠商則是把人家建好的房子整體拿過來,重新刷上油漆,打上自己的 logo,這就是所謂的換皮。這種做法意味著,我們之前所謂製作作業系統根本談不上設計能力,如果想把別人設計好的兩室一廳的房子改成三室一廳,或者新增廚房、廁所,我們之前根本就沒有這個能力。
openEuler 的做法則是直接從森林裡伐木頭,自己設計、打磨、組裝,從底到上完全是自己設計和構建的,這樣做出來的東西,培養出來的人才梯隊後面的演進就可以做到隨心所欲。經過一年多的發展,相信大家也能看到 openEuler 的成果,換皮一說對 openEuler 肯定是不成立的。
InfoQ:openEuler 的商業模式是怎樣的?如何構建起一個開放、信任的生態?
熊偉:從近兩年的情況看,生態在 IT 圈子裡的認可度越來越高,華為也看到了這個趨勢。我們選擇開源 openEuler 也是著眼於生態的建設。經過大半年的努力,社區的規模越來越大,質疑聲越來越少,合作夥伴們也看到了華為的誠意和 openEuler 背後的商業邏輯。