演講嘉賓 | 孫海龍
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
孫海龍,北京航空航天大學教授。目前擔任CCF協同計算專委副秘書長、開源發展委員會執行委員,入選國家級青年人才計劃。主要研究群體智能、智能化軟件開發方法、開源軟件和分布式系統等。主持了國家重點研發計劃項目、國家自然科學基金專項重點項目及面上項目等。在OSDI、IJCAI、AAAI和ICSE等發表論文130余篇,獲得中國發明專利授權40余項、美國發明專利授權2項。獲國家技術發明二等獎2項、教育部科技進步一等獎3項。
內容來源
第一屆開放原子開源基金會OpenHarmony技術峰會——開發者工具分論壇
視頻回顧
打開 嗶哩嗶哩APP 搜索 OpenHarmony-TSC 視頻更清晰
正 文 內 容
建立開源生態是發展系統軟件的有效途徑,群智方法是開源生態構建與治理的重要手段。創新群智化社區構建、持續性生態治理和全鏈式安全評估等技術,研發支撐工具與系統,助力OpenHarmony生態發展和萬物智聯新場景。來自北京航空航天大學軟件學院的孫海龍教授在第一屆OpenHarmony技術峰會上圍繞群智驅動的泛在操作系統分享了在開源生態構建與治理方面的相關研究進展。
01?
系統軟件與開源生態
如今,隨著個人設備和技術的普及,國內外越來越多的優質開源軟件和項目選擇“開源”。開源的操作系統有:Linux、OpenHarmony、Android、openEuler等;開源的編譯器有:GCC、javac、PyPy、rustc、LLVM、OpenArkCompiler等;開源的大數據和數據庫管理系統有:Hadoop、Spark、MySQL、openGauss、TiDB等,開源的云計算有:OpenStack、Docker;開源的人工智能模型有:TensorFlow、PyTorch、MindSpore、PaddlePaddle等。
開源軟件和開源軟件開發的概念是不一樣的。什么是開源軟件呢?一般來說,滿足國際OSI公認的10條準則的軟件就可以稱之為開源軟件。那什么是開源軟件開發呢?開源軟件開發指的是基于開源模式的軟件開發方法(“集市”模式),如Linux的開發就采用了典型的開源軟件開發方法。此外,有些開源軟件(如Unix、早期的Minix等)的開發并未采用典型的開源軟件開發方法,而是采用了“大教堂”模式。
建立開源生態是系統軟件研發的有效途徑。系統軟件研發是一個復雜工作,通常需要涉及多人協作,如果不開源,在開發效率和代碼質量上存在一定局限性。舉個“Delphi效應”的例子:當需要多人討論一個復雜問題時,通常是少數資深專家在熱烈交流,而多數非資深專家不敢發表意見,導致集體產生的結論只能代表少數人的觀點,缺乏合理性。因此,“Delphi方法”建議討論者背對背討論,匿名發表觀點,再進行匯聚和迭代,形成Delphi效應,輸出更加合理的結論。面向系統軟件研發建立開源生態是一個重要模式,通過開源的途徑,有利于匯聚集體智慧,進而提高開發效率和代碼質量。Linux項目的健康茁壯“成長”也得益于開源的“東風”。
02?
泛在操作系統開源生態
隨著信息技術進入人機物融合的泛在計算時代,出現了許多新的計算模式和應用場景,在這些新場景下,人機物融合泛在計算要求向下管理海量異構資源、向上支撐各類大規模應用,發展泛在操作系統是必然趨勢,也是破解“昆蟲綱悖論”難題的一種途徑。
建立泛在操作系統的開源生態面臨哪些挑戰?
群智貢獻不確定:大規模開放群體與開源資源難以進行有效協作組織,如何實現高效群智激發匯聚?
生態演化不確定:建立跨域關聯形成全局視圖并進行動態調控缺乏有效技術手段,如何實現高效生態構建與可持續健康治理?
生態安全不確定:泛在操作系統復雜供應鏈對潛在安全威脅的傳染放大效應,如何建立生態級的安全保障體系?
如何應對泛在操作系統開源生態不確定性?傳統的工程范式能夠應對生產規模化危機,強調生產控制、聚焦軟件產品、有組織且承諾確定性,缺乏多樣性。當前的開源范式能夠應對演化多樣性危機,鼓勵創作自由、關注軟件作品、無組織且不承諾確定性。國防科大的王懷民院士提出軟件開發的“群智范式”,通過融合工程范式與開源范式的優勢,形成“宏觀演化,微觀求精”的核心理念,為應對泛在操作系統開源生態的不確定性提供了新途徑。
基于群智范式的思路,從以下3個方面構建良好的泛在操作系統開源生態:
生態構建:面向泛在操作系統開源生態構建的群智激發與匯聚,優化開源貢獻的“長出率”;
持續治理:泛在操作系統開源生態的可持續演化機理與調控,開源項目的“長成率”;
安全保障:泛在操作系統開源生態的全鏈式安全分析與保障,開源制品的“長優率”。
如何實現AI驅動/群智驅動呢?孫海龍教授所帶領的國家自然科學基金項目團隊有以下研究進展:
一、群智范式:基于群智熵的激發匯聚度量。從群智范式的視角認識和梳理開源項目的生命周期,嘗試建立開源項目及其生態的度量指標,并建立與群智激發匯聚的關聯。進而,圍繞開源群體協作和系統迭代演化,構建基于群智熵的開源度量評估體系,探索群智開源背后的本質。以RubyOnRails為案例,分析了該項目在12年長周期發展變化中群智激發熵的變化情況,如下圖所示:
二、群智化構建:開源新手的助長策略。目前,盡管開源社區提出了眾多機制降低新手加入門檻,但是目前還不清楚新手是否還需要專家的指導,如何指導,以及指導對新手有多大意義。因此,可以通過分析good first issue解決過程中專家的參與情況,了解專家參與程度、指導關系結構、討論主題、指導重要性,提高指導效率。
三、持續性治理:開源中的公司行為研究。通過對OpenStack(一個有超過十年開發歷史、成百個公司參與、有上千個項目的開源云計算操作系統)開展研究發現,結果發現由公司主導開源項目的開發這一現象不管是從整體開發角度還是單個版本,都非常普遍。并且,超過70%的項目被不到20%的公司主導,超過一半的主導公司會同時主導多個項目的開發。通過隨機篩選60個被主導的項目,定性分析主導公司的背景、OpenStack、特定項目的目標和項目類型功能等,進而通過擬合生存分析模型,發現公司主導與項目的生存概率存在顯著負相關關系。被單一公司主導的項目更可能走向死亡 (死亡風險會增加126%)。此外,公司是利益驅動的,相比受自身興趣愛好驅動的志愿者,公司的參與帶有更強的不確定性。經過統計發現,超過一半的公司在對openstack做貢獻之后選擇撤出。進一步發現,隨著版本演化,離開的公司數逐漸增加,超過了新加入的公司數:某個版本加入的公司,后續會有一半撤出;當前版本還在做貢獻的公司,有12%會在下一個版本撤出。基于問卷調查結果顯示,公司撤出原因多樣,撤出行為的預測受多種因素影響,其中“目標已實現”以及“目標已失敗”是公司撤離開源項目的最主要原因。
四、全鏈式安全保障:供應鏈構建方法/缺陷定位與修復方法/工具原型系統。由于項目數量多、依賴關系復雜,目前缺乏一種有效的供應鏈建模方法。因此復雜軟件系統的供應鏈仍然是“黑箱”(以深度學習開源框架為例)。通過構建和分析供應鏈,能夠了解其結構、應用領域和演化因素,為探索泛在OS等復雜軟件生態的未來發展提供支撐。通過對供應鏈的結構、演化因素以及領域分布等進行分析,形成逐層的全網深度學習供應鏈構建方法。此外,傳統軟件缺陷的檢測與修復技術存在著難診斷、耗時長、需求大、發展快的挑戰。基于遷移學習將挖掘到的深度語義知識遷移到目標項目的定位與修復任務中,進而對缺陷修復模板進行調優,能夠提升定位和修復任務的性能。另一方面,通過構建供應鏈依賴分析系統、社區風險分析工具以及開源生態健康度量化評估工具等,并結合開源軟件應用市場反饋,構建工具原型系統,保障全鏈式安全保障。
目前,孫海龍教授所在團隊已經在基于群智范式的泛在OS開源生態理論、關鍵技術及系統的研究上取得進展,發表A類論文6篇,獲得ICSE' 22 Distinguished Paper Award 1項,研發了開源軟件供應鏈全息知識圖譜構建技術,面向OpenHarmony, openEuler和Ubuntu等操作系統實例進行了技術驗證,并進一步提升了GitLink對開源生態的服務能力。
希望群智范式、GitLink等開源理論、方法與系統助力OpenHarmony等操作系統的開源生態構建與治理,為我國開源創新戰略的實施做出貢獻。
E N D
點擊下方閱讀原文獲取演講PPT。
關注我們,獲取更多精彩。
審核編輯 黃宇
-
操作系統
+關注
關注
37文章
6740瀏覽量
123192 -
開源
+關注
關注
3文章
3252瀏覽量
42407 -
OpenHarmony
+關注
關注
25文章
3660瀏覽量
16159
發布評論請先 登錄
相關推薦
評論