演讲嘉宾 | 孙海龙
回顾整理 | 廖 涛
排版校对 | 李萍萍
嘉宾简介
孙海龙,北京航空航天大学教授。目前担任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文章
6825浏览量
123333 -
开源
+关注
关注
3文章
3349浏览量
42501 -
OpenHarmony
+关注
关注
25文章
3722浏览量
16321
发布评论请先 登录
相关推荐
评论