建行信用卡業務,無論是客戶規模還是交易規模都堪稱業界第一,最近該業務上演了一場「飛行中換引擎」的奇蹟:其核心系統進行了重構,平滑切換到銀行核心系統+鯤鵬+麒麟OS(基於openEuler),改造後性能提升13%……
這是來自openEuler社區的最新應用進展,回顧過去一年,openEuler社區發展之速度令人吃驚,堪稱是中國開源領域的裡程碑。
初戰告捷
openEuler最早可以追溯到2010年開始研發的作業系統Euler,去年Euler開源後改名為openEuler,構建開源社區。由此,openEuler的身份發生了巨大變化,其不僅僅是作業系統,而是一個極具活力的開源社區,它與作業系統建立緊密的聯繫,形成關聯的正循環:社區的開源讓作業系統不斷進化、迭代,吸引更多的企業和個人加入其中,進而讓開源社區的活躍度不斷增加……
在openEuler開源社區的願景中這樣寫道:「通過社區合作,打造創新平臺,構建支持多處理器架構、統一開放的作業系統社區,推動軟硬體生態繁榮。」
如何判定一個開源社區的成功程度?答案是兩點:一個是看社區做出來的產品先進性和成熟度,這從openEuler開源社區的發展速度可見一斑。2019華為全聯接大會發布openEuler開源計劃,當年12月31日正式開放原始碼,2020年3月27日發布20.03 LTS版本,9月30日openEuler 20.09創新版發布……最新的openEuler 20.09創新版有諸多新特性,如StratoVirt、iSula、虛擬化特性增強、內核特性增強、程式語言和編譯器、硬體和晶片使能、桌面支持、智能運維等。
另一個是看社區的活躍程度。鯤鵬計算業務副總裁、openEuler開源社區理事會理事長負責人江大勇透露,一年之內openEuler已經快速成長為中國最具活力的開源社區,目前社區有超過2000個社區貢獻者,其中參與代碼貢獻的就有超過1500個,有2萬個Pull Request,目前已經有6家作業系統廠商基於openEuler開發了自己的商業發行版,兩個季度的時間在伺服器領域就實現了3萬套的發行版銷售、3萬個社區版下載用戶。
需要指出的是,Pull Request的數量最能反映一個開源社區的活躍度,因為開源社區的代碼更新和貢獻都是靠Pull Request來驅動。或許橫向對比一下就能知道openEuler社區的活躍程度,目前最火爆的CNCF社區,Pull Request的數量是6萬個,而openEuler社區僅用了不到一年的時間在Pull Request上就達到了開源社區老大的三分之一,增長速度可謂驚人!
這一點在openEuler 20.09創新版也有明顯的體現,其由不同廠商、不同機構甚至個人協作完成,是純社區化運作開發出來的大型OS系統。一個數字可以看出這一點:來自華為以外的貢獻比例接近40%,例如中科院軟體所貢獻了RISC-V 新指令集架構支持;麒麟軟體為社區共享了賞心悅目的桌面UKUI 系統等等。
這在我國開源作業系統歷史上具有裡程碑意義,意味著openEuler開源社區在短短一年內即初戰告捷。
時勢造英雄
openEuler開源社區的誕生,以及快速壯大,是時勢造英雄。具體來說,筆者認為是天時、地利、人和齊聚的結果。
所謂天時,是異構計算時代的大勢所趨。伴隨人工智慧、5G、物聯網等新技術的迅猛發展,算力的需求出現爆發式增長,同時摩爾定律的失效導致單靠CPU已經無法滿足需求,這個時候算力的處理趨勢也從傳統通用CPU向ARM、NPU、GPU等一起的並行計算和分布式計算。多樣性計算,不能單靠硬體來完成,而是需要軟硬協同,尤其是作為軟體核心的作業系統,更是在其中扮演重要角色。
openEuler也誕生在雲邊端協同的大趨勢下,尤其是伴隨5G的商用,雲手機、雲遊戲等應用如雨後春筍地迸發出來,在這些新的場景下,雲邊端協同的需求愈發強烈。據openEuler 技術委員會委員熊偉博士透露,openEuler有兩個目標,首先是做一個伺服器的發行版,讓雲和伺服器都能用上;其次是構建一套完整的工具,使之能夠從標準發行版剪裁、定製出適合不同場景的小OS。因此,openEuler從一開始就是為針對雲邊端協同場景打造而生。
所謂地利,是國內自主創新的大趨勢。正如最近的中央經濟工作會議就將科技創新作為工作重點,會議提出2021年經濟工作的8項重點任務,前兩項分別聚焦強化國家戰略科技力量與增強產業鏈供應鏈自主創新能力。作業系統是自主創新的核心領域。值得指出的是,開源是作業系統創新的關鍵手段,社區是開源的「根」,在自主創新的大背景下,顯然這個「根」應該立足於本土。
所謂人和,是計算產業生態發展戰略的構建,即聚焦圍繞鯤鵬和昇騰構築多樣性算力,但是計算產業的本質是從處理器、主板、整機、基礎軟體和應用軟體的全棧和全生態的融合發展。相較硬體,我國基礎軟體更加薄弱,這一計算產業發展戰略,成為軟體蓬勃發展的重要保證,而作為計算產業的根——作業系統,將借勢「人和」快速發展。
所以,openEuler的推出恰逢其時,它不僅僅是充分釋放多樣性算力潛能的全場景協同作業系統,更是我國開源變革的拐點。
開源社區建設方法論
當然,筆者更感興趣的是openEuler如何在如此短的時間內構建起一個成熟的開源社區?經過調研,我發現有如下幾點非常關鍵:充分的開放性,架構的包容性,完善的機制化,清晰的商業性。
首先,openEuler社區構建和運營上有著鮮明的態度,那就是開放。開源軟體是華為計算生態戰略的重要部分,華為計算始終堅持「硬體開放,軟體開源,使能合作夥伴」的生態戰略,通過主導開源、貢獻開源、使能商業合作夥伴三管齊下,支撐起具有持續創新能力的技術軟體生態。正如江大勇所說,「openEuler是個底座,在此之上用戶需要根據自己的場景、市場、行業去增加差異化的內容,這樣既能實現高效協作,也有差異化部分來夠滿足不同行業客戶的需要,實現真正的創新。」
而且,openEuler積累多年的技術悉數開放出來,對開發者進行賦能。比如在20.03版本,openEuler開放了自動化、智能化性能調優引擎A-Tune;在20.09版本,openEuler發布了可持續集成的軟體平臺Compass-CI,其能夠幫助社區開發者更快的將開源軟體引入openEuler社區,補充更多的測試用例,共同構建一個健康完善的開源軟體生態。除此之外,在人才方面,各類線上線下活動都旨在培養開發者,比如與清華大學聯合出版了技術書籍《openEuler作業系統》,還授權相關機構進行初級工程師試點培訓、在學校裡提供更多實踐課程來培養openEuler開發者。
openEuler社區的成長壯大,也離不開其架構的包容性。據了解,openEuler是一款包容性很強的產品,其能夠支持ARM、x86、RISC-V等多指令集架構,並針對不同架構進行定製優化,這使其能夠應對更多複雜場面。
當然,openEuler的社區運營機制也可圈可點。具體來說,其以 SIG 組作為基本的組織單元,SIG 組裡的工作流程、工作方式、技術演進方向,都在 SIG 組內進行討論。在 SIG 組之上,是TC(技術委員會),對SIG組起到輔導,促進,監督的職能。目前openEuler 社區的治理遵循扁平化的原則,除了SIG、TC,還有理事會、秘書處、安全委員會。理事會和秘書處主要負責社區的運營工作,技術委員會、安全委員會和 SIG 組主要負責技術層面的工作。正是這種共治的機制,激發起社區的活力。
值得注意的是,清晰的商業性也是openEuler社區的重要特點,其已經初步構建起全產業鏈價值共享模式。熊偉表示,期望openEuler社區能夠成為行業內共同維護的一個底座式平臺,大家都能在openEuler 上獲得商業利益,即使是競合關係也能促進行業的持續發展。中國科學院軟體研究所特聘研究員、博士生導師,副總工、智能軟體研究中心主任武延軍也將商業價值看做是作業系統能否成功的關鍵要素,他認為像openEuler 這樣的作業系統、開源社區,未來一定要出現像 RedHat 這樣具備高商業價值的公司,能證明它在商業上可以取得廣泛的成功。
後記:中國開源的裡程碑
在軟體領域,開源已經是大勢所趨,因為僅靠單一或者少部分企業的力量無法適應這個時代,只有匯聚業界智慧的開源模式才是解決之道。回顧開源在全球的發展,從上世紀九十年代以個人和大學為主的萌芽階段到Apache基金會等非盈利組織主導,再到谷歌、IBM等大型網際網路和IT企業為主的階段,谷歌的安卓系統目前佔據全球80%以上的智慧型手機OS市場份額,就是因為其開源的特點。
近些年,隨著我國軟體、網際網路產業的高速發展,國內企業和個人對於開源的積極性不斷提升,開源生態逐步完善。但是國內開源也有一些問題,其中之一就是國外更注重開源貢獻,國內企業更多的是拿來主義,對開源版本使用的多、貢獻的少。
最近,在Linux圈發生了一件大事:RedHat宣布,CentOS將在明年底停止維護。武延軍認為,這給大家敲響了一個警鐘,並不是所有開源的東西都是可持續的,如果你不參與到社區當中,最後影響的人還是你自己。
形成鮮明對比的,是openEuler社區,這棵同樣出自Linux的系統在短短的一年時間裡就落地、生根、開花、結果,強勁生長。openEuler已經成為Linux內核的重要貢獻者,尤其體現在對 ARM 體系架構的支持上。在最新的Linux Kernel 5.10版本中,華為patch提交數量全球第一,代碼修改行數全球第二。
更重要的,是openEuler社區正在改變國內開源的現狀,激勵越來越多的企業和個人參與進來,為系統貢獻自己的力量。就像上面提到的中科院軟體所,一個機構就運營著7個SIG,在openEuler 技術委員會的相關社區活動、代碼 review、社區 issue 處理等方面也做了很多工作。
當國內企業和個人的熱情和積極性被點燃,openEuler註定將在作業系統領域帶來變革,改變國產作業系統僅僅是換皮的固有認知。熊偉用蓋房子來比喻作業系統的構建,國外的社區,廠商是從森林裡採伐原木,加工設計、建造成一個作業系統的房子,而以前我們國內通常是把人家建好的房子整體拿過來,重新刷上油漆,打上自己的 logo,openEuler 的做法則是直接從森林裡伐木頭,自己設計、打磨、組裝,從底到上完全是自己設計和構建的。
由此,openEuler所幹的事情,並不只是一個作業系統、一個中國人的開源社區,更是具有根技術和根社區的特點,是中國開源的變革者,是中國開源的裡程碑。
所以,openEuler社區在過去一年的蓬勃發展僅僅只是開始,更加美好的未來值得期待。