《北大&腾讯:2023泛在操作系统开源生态体系报告(53页).pdf》由会员分享,可在线阅读,更多相关《北大&腾讯:2023泛在操作系统开源生态体系报告(53页).pdf(53页珍藏版)》请在三个皮匠报告上搜索。
1、泛在操作系统开源生态体系研究报告2023年10月北京大学&腾讯研究院北京大学&腾讯研究院北京大学:周明辉、赵俊峰、曹东刚、赵益良腾讯:刘琼、袁媛、王强、王鹏、刘峰、张猛、许勇、单致豪、耿航、万慧、陈立东、蒋彪、王佳、陶松桥、汪礼超、林青、曹倩芸、孙亚楠、石春丽、穆蕾、马守强梅 宏 中国科学院院士、中国计算机学会理事长王怀民 中国科学院院士、中国计算机学会开源发展委员会主任孙文龙 开放原子开源基金会理事长、中国电子技术标准化研究院副院长董 建 中国电子技术标准化研究院信息技术研究中心副主任苗宗利 中国电子技术标准化研究院信息技术研究中心技术总监宋可为 中国开源软件推进联盟副秘书长泛在操作系统开源
2、生态体系研究报告编委会指导专家GUIDANCE EXPERTS编写组WRITING GROUP支持组SUPPORT GROUP 姚嘉杰、刘志强、孙博、孙猛北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统开源生态体系研究报告|序序当前,数字化转型已成为社会经济发展的主流趋势,正在带来新一轮的社会经济“革命”,其中,核心驱动力是互联网及其延伸所带来的人机物广泛连接。人机物三元融合泛在计算的时代正在开启!数字化转型呼唤新型基础设施,包括信息基础设施和传统物理基础设施的数字化和软件定义;泛在计算呼唤新型操作系统,即泛在操作系统(Ubiquitous Operating System,UOS)。操作
3、系统作为核心系统软件,无疑是新型基础设施中的主要构成成分。操作系统的发展需要依托开放创新的环境,从技术持续创新、建立规模生态,到实现商业成功,进而形成产业发展良性循环,需要产学研用各界长期的合作和努力。很高兴地看到,近年来,泛在操作系统的理论、技术和应用正在呈现出蓬勃发展的态势,开源则是产业界和学术界一致共识的“创新范式”。一方面,北京大学、国防科技大学、北京航空航天大学、西北工业大学等高校积极开展泛在操作系统开源生态构建、治理及安全评估的研究;另一方面,来自北京大学、腾讯、华为、阿里、百度、麒麟软件、深度科技、龙芯等产业链不同环节的单位正在推进openKylin、deepin、Loongni
4、x、OpenCloudOS、OpenEuler、XiUOS、Anolis OS、TencentOS Server、TencentOS Tiny、OpenHarmony、AliOS Things、Apollo 等不同类型的泛在操作系统开源项目,部分项目还捐献给开放原子开源基金会,辐射和牵引了软件产业链的数百家单位参与,正逐渐形成泛在操作系统的开源生态体系。开源正在成为我国IT产业创新发展的重要模式,而IT生态也必然是开源和闭源的交织。泛在操作系统作为IT产业发展的一个重要分支,其开源生态体系如何建设、开源与商业化如何融合发展,是值得长期探索的话题。去年,北京大学与腾讯研究院合作撰写了泛在操作系统
5、实践和展望研究报告,今年又进一步围绕泛在操作系统的开源生态体系开展了进一步的研究,梳理了国内外泛在操作系统开源工作现状,提出了泛在操作系统的开源生态体系框架以及未来发展的思考建议,我相信,这对于我国泛在操作系统及其开源生态体系建设发展具有很好的参考价值。北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统的开源生态建设需要多方参与、多元融合。我也期待产学研用各界共同弘扬开放、共享、协同、生态的开源精神,积极借鉴国际开源经验,探索创新开源商业模式,共同构建我国泛在操作系统发展的开源生态体系。中国科学院院士中国计算机学会理事长泛在操作系统开源生态体系研究报告|序序软件已经成为现代社会基础设施的重要
6、组成成分,开源创新则成为促进软件技术发展的主流模式。开源创新为什么“行”?回望开源软件发展历程,人们认识到,开源创新是人类应对未来不确定性的高效科技创新模式,其核心机理是有效激发和汇聚群体智能。在个人计算机时代,面对所谓“确定性”个人计算机,大公司的闭源模式成为主流,开源创新被压制。到了充满不确定的互联网时代和移动互联网时代,开源创新逐渐成为主流。Linux社区的发展经历很好地说明了这一点。Linux的个人计算机操作系统版本在商业发展上并不算成功,但在互联网时代,无论在云计算操作系统中还是在智能手机操作系统中,Linux的相关版本都取得了巨大成功,因为所有版本都能够在新兴的创新者、开发者的调校
7、下不断修改完善。当前,我们正在进入人机物融合的万物智联的泛在计算时代,互联网所带来的不确定性还将延续,开源创新仍将成为整个软件生态发展中的一个主流创新模式。泛在操作系统作为泛在计算时代的关键基础软件,开源创新也必然是提升其技术创新效率的重要机制。开源创新在中国能不能“行”?过去20多年,中国开源软件事业蓬勃发展,已经成为全球开源软件增长贡献率最高的国家。我国企业积极融入国际和国内开源生态,已经取得了巨大的进步。我国学术界也高度关注开源创新模式的研究,积极推进软件开发范式的变革。国家“十四五”发展规划纲要中,明确提出“支持数字技术开源社区创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软
8、件源代码、硬件设计和应用服务”。工信部出台的“十四五”软件和信息技术服务业发展规划中也强调,培育重点开源项目,建设优秀开源社区,提高开源治理能力。实践证明,开源创新有力推动了中国软件的自立自强。当前问题是,开源创新能不能进一步推进我国软件高水平自立自强,也就是说,在全球开源创新生态中,我国能不能从深度融入者提升为关键贡献者。泛在操作系统开源生态体系研究报告|序北京大学&腾讯研究院本报告前瞻性的提出了泛在操作系统开源框架,也提到了当前面临的挑战和未来发展建议,给了我不少启发,相信也可以为关心软件开源创新和泛在操作系统发展的各界同仁带来有益的思考。我以为,在我国开展泛在操作系统开源创新实践是推进我
9、国关键软件高水平发展的重要探索。我们应该坚定信心,坚决行动,坚持不懈,把握泛在操作系统开源创新主动权和主导权。中国计算机学会正在积极推进泛在操作系统开源创新的中国实践,希望能够与大家共同努力,共同促进我国开源创新生态的建设和发展。中国科学院院士中国计算机学会开源发展委员会主任泛在操作系统开源生态体系研究报告|序北京大学&腾讯研究院北京大学&腾讯研究院序开源是迄今为止最先进、最广泛、最活跃的协同创新模式之一,具有“开放、自由、共享、协同、贡献、合规、平等无歧视”的特征,并随着时代的变迁不断演进。当前,以开源开放模式加速操作系统生态共建已成为产业共识。一方面以开源的方式推动操作系统技术创新,将有利
10、于汇聚来自全球的更多开发者与更先进的技术力量,为打造世界一流的开源操作系统奠定坚实的基础;另一方面操作系统生态发展需要开放多元的社区环境及共建共享的发展机制,以实现共赢的目标。开放原子开源基金会作为我国首家开源基金会,立足中国、面向世界,坚持科技、公益、普惠属性,充分发挥基金会的主体作用,广泛汇聚开源力量,搭建国际开源协作交流平台,积极参与全球开源贡献。基金会成立三年来,通过技术监督委员会的技术准入的开源项目,覆盖了各个重点领域,为“存、防、云、算”和“芯、软、硬、端”的协作共生打下基础。与此同时,基金会也在探索不同类型操作系统开源社区和项目的协同发展机制,以团结汇聚各方资源,为操作系统的开源
11、生态繁荣和可持续发展做出贡献。本报告系统的梳理了泛在操作系统的国内外现状,前瞻性的提出了泛在操作系统开源生态体系框架,为我们认识和思考泛在操作系统开源工作提供了很好的输入。希望后续能与各界在泛在操作系统开源发展方面有更多的交流探讨,一起持续探索和完善开放多元、共享共建、生态共赢的开源发展机制。泛在操作系统开源生态体系研究报告|序孙文龙开放原子开源基金会理事长北京大学&腾讯研究院北京大学&腾讯研究院序开源不仅代表着一种开放共享的软件形态,更成为产业互联网时代新的生产方式和协作模式。十多年来,腾讯一直坚定地拥抱开源,共开源了 160 多个项目,获得超过 46 万开发者关注和点赞;持续在 30 多个
12、主流开源社区积极贡献,是开放原子开源基金会的发起单位之一,也是Linux 基金会、Apache 基金会、CNCF 等国际顶级开源基金会的重要成员。我们将开源作为公司技术战略之一,在公司技术委员会下设立开源专职机构腾讯开源管理办公室,自上而下传递开源战略,自下而上落地开源实践。与此同时,腾讯长期投入 OpenCloudOS 操作系统、TDSQL 数据库、Angel、Inlong 等重点项目的研发,目前已经实现了操作系统、数据库、大数据、AI、云原生等核心技术领域上的多点开源突破。我们认为,开源有利于中国基础技术的崛起。当前,自主创新成为引领产业变革的内在动力,泛在智能世界正在加速成为现实,操作系
13、统作为基础软件的重要性更加凸显。近年来,腾讯在操作系统领域持续深耕,自主研发了服务器操作系统 TencentOS Server、物联网操作系统TencentOS Tiny、边缘操作系统 TencentOS Edge、云原生操作系统遨驰 Orca、智慧交通 OS、智慧建筑操作系统微瓴等,于 2019 年将 TencentOS Server、TencentOS Tiny 正式开源,并于2021 年与合作伙伴共同发起了 OpenCloudOS 操作系统开源社区,500 家社区生态伙伴目前正在和我们一起参与和贡献。与此同时,我们也积极与学术界、产业界共同探索泛在操作系统的开源生态体系与治理模式,这份
14、泛在操作系统开源生态体系研究报告 中沉淀了腾讯的相关经验和思考,希望能为大家提供一些参考借鉴。此外,人才是建设泛在操作系统开源生态建设的基石。近年来,在开源人才培养方面,腾讯也陆续开展了犀牛鸟开源人才项目以及校源行项目。犀牛鸟开源计划吸引了国内外 420 所高校参与,开设了超过 40 门开源精品课程,操作系统开源课程是其中的重要内容;与开放原子开源基金会合作的开放原子校源行公益项目,目标是共同推动开源文化普及,加快我国开源人才的培养。希望来连接更多学术科研和行业机构一起参与,为我国的开源发展贡献更多的智慧和力量。泛在操作系统开源生态体系研究报告|序 王巨宏开放原子开源基金会副理事长腾讯公司副总
15、裁北京大学&腾讯研究院北京大学&腾讯研究院序操作系统是计算机的灵魂,也是亟需实现突破的关键核心技术领域。汇聚群体智慧的开源模式一直是操作系统技术和产业发展的重要方式。当前,操作系统的发展呈现三个趋势:一是云原生、轻量化成为人机物融合环境下的共性要求;二是降本增效、节能降碳理念成为主流;三是百花齐放、各有所长的泛在操作系统开源生态正在逐步形成。以腾讯为例,TencentOS Server 服务器操作系统针对云原生的业务容器化、微服务化、Serverless 化需求,设计和形成了云原生内核,为腾讯全栈开源云原生解决方案提供了最底层的基石;基于 TencentOS Server 统一资源隔离解决方案
16、(技术品牌:如意 RUE)与系统级能耗优化解决方案(技术品牌:悟能),我们预计腾讯数据中心每年可以节省 6 亿 KWH 整体能耗、每年减少碳排放 24 万吨。这些技术积累,如今已经全部贡献到 OpenCloudOS 社区。目前,OpenCloudOS社区生态伙伴已达到500家,涉及操作系统厂商、芯片厂商、整机厂商、行业用户、云厂商、存储厂商、数据库厂商、中间件厂商等产业链单位。OpenCloudOS社区发版及衍生版本数量超过6个,装机量超过1000万节点,核心代码仓库数超过46个,可兼容适配900+国产软硬件及30000+开源软件,实现主流芯片、数据库、整机的全覆盖。值得一提的是,OpenCl
17、oudOS已经实现了对服务器、边缘计算、桌面等场景的同源支持,从源社区(L1)、商业版本(L2)到衍生稳定版本(L3)的全链路国产化操作系统生态正在逐渐完善。除了OpenCloudOS,国内外还有多个不同定位、不同类型的泛在操作系统开源社区和开源项目,大家各有所长、相互促进,掀起了更广泛的开源创新热潮。很高兴的看到泛在操作系统开源生态体系研究报告对此做了全面梳理,同时报告中也分析了开源生态与软件供应链的关系,客观提出了当前挑战以及未来建议,我认为报告对于行业从业者们具有很好的参考价值。接下来,我们希望会同所有的合作伙伴,进一步完善社区治理,探索社区可持续性,也希望在此过程中能与学术界专家们以及
18、产业界同行们有紧密的合作,将OpenCloudOS社区建设成为泛在操作系统开源生态体系研究报告|序泛在操作系统开源生态体系研究报告|序北京大学&腾讯研究院北京大学&腾讯研究院我国泛在操作系统开源生态体系中的一支重要力量,为千千万万的中小型企业提供即拿即用、符合标准、供应可靠的操作系统产品,共同促进我国操作系统技术和产业的蓬勃发展。郭振宇腾讯云副总裁OpenCloudOS 社区 TOC 主席泛在操作系统开源生态体系研究报告|序泛在操作系统开源生态体系研究报告|目录引言目录泛在操作系统的开源生态发展现状2.1.泛在操作系统的概念及框架2.1.1.定义和特征2.1.2.体系框架2.1.3.分类及关系
19、2.2.泛在操作系统的开源现状2.2.1.泛在操作系统开源全景图2.2.2.基础平台类操作系统桌面操作系统2.2.3.基础平台类操作系统服务器操作系统2.2.4.基础平台类操作系统移动智能终端操作系统2.2.5.基础平台类操作系统嵌入式及物联网操作系统2.2.6.基础平台类操作系统云操作系统 2.2.7.应用场景类操作系统智慧城市操作系统2.2.8.应用场景类操作系统自动驾驶操作系统2.2.9.应用场景类操作系统智慧建筑操作系统2.2.10.应用场景类操作系统机器人操作系统2.2.11.应用场景类操作系统智能家居操作系统06091920210901-
20、PART-02-PART-北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统开源生态体系研究报告|目录参考文献泛在操作系统开源生态体系框架3.1.开源生态的构成及其发展因素3.1.1.开源生态构成3.1.2.开源生态与软件供应链3.1.3.泛在操作系统的开源生态构建需求3.2.泛在操作系统开源生态体系3.2.1.泛在操作系统在软件供应链中定位3.2.2.泛在操作系统开源生态框架泛在操作系统开源生态体系挑战与建议4.1.挑战分析 4.2.若干思考与建议2323242528282932343703-PART-04-PART-北京大学&腾讯研究院北京大学&腾讯研究院01-引言-泛在操作系统开源生态
21、体系研究报告|01.引言北京大学&腾讯研究院北京大学&腾讯研究院开源模式是一种以追求知识平权,打破技术垄断为初衷的高效的创新组织形态,以互联网为载体,有效汇聚用户创新和群体智慧,形成了无数优秀开源软件,在商业化助力下蓬勃发展,为产业和社会带来了巨大机会。开源所具有的优势已经被业界广泛证明和承认:可以突破地理上、社会组织和意识形态的限制,所有人都可以获取技术资源、参与科技创新,实现群智汇聚;快速获取用户创新,实现从生产到使用的高效周期迭代;可以广泛联合合作伙伴,完善技术生态,打破技术封锁和商业垄断。当前,Linux 操作系统和源自 Linux 内核的 Android 操作系统,已经广泛占据服务器
22、和手机市场份额。开源数据库操作系统从 MySQL 到 MongDB,再到国内的 TiDB 和 Tdengine 等,开源已经成了行业用户的重要需求。Anders Hejlsberg 是 Turbo Pasca、TypeScript 等五种编程语言的创建者。他曾说过:在未来,编程语言如果不开源,就无法取得成功。而在 AI 领域,从 AI 框架到 AI 内容生成模型,开源也成为主流方式。例如,文本生成图像模型 Stable Diffusion 的火爆(其背后的公司 Stability AI 宣布获得了 1.01 亿美元超额融资,估值达 10 亿美元)充分证明,只有开源社区才能高效发挥群体智慧,更好
23、地将各种用例产品化,并且优化模型的实际落地使用。开源已成为国际上操作系统、大数据、区块链、开发环境与工具等软件技术的多数发展路径,如 CSDN 的 2021 年国际核心技术生态体系全景图所示。相较于国际,我国在上述领域的开源比例略低,例如操作系统领域,开源和闭源几乎各自占领一半份额。总的来说,尽管开源存在商业模式、开源许可协议等方面的挑战,但开源社区的激发和汇聚,正在为软件项目的技术发展、应用广度和创造空间带来有力的推动。021.引言泛在操作系统开源生态体系研究报告|01.引言北京大学&腾讯研究院北京大学&腾讯研究院图1-1 CSDN 2021国际核心技术生态体系全景图图1-2 CSDN 20
24、21中国核心技术生态体系全景图2021年以来,我国在软件产业、行业应用两个维度也进一步强化了对开源生态发展的支持力度。中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要中提出:支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源泛在操作系统开源生态体系研究报告|01.引言03北京大学&腾讯研究院北京大学&腾讯研究院代码、硬件设计和应用服务。中央网络安全和信息化委员会“十四五”国家信息化规划、工业和信息化部“十四五”软件和信息技术服务业发展规划等文件中,也对繁荣国内开源生态、支持开源社区建设提出了具体规划。人民银行办公厅、中央网信办秘书局、工
25、业和信息化部办公厅、银保监会办公厅、证监会办公厅联合发布的关于规范金融业开源技术应用与发展的意见中,从行业应用角度,鼓励金融机构将开源技术应用纳入自身信息化发展规划,加强对开源技术应用的组织管理和统筹协调,建立健全开源技术应用管理制度体系,制定合理的开源技术应用策略。泛在操作系统作为操作系统在泛在计算时代的发展趋势、以及人机物融合应用场景中的核心系统软件,已被列入“十四五”软件和信息技术服务业发展规划,开源生态发展将是重要发展趋势。关于泛在操作系统的概念、框架和样例,在北京大学与腾讯研究院联合发布的泛在操作系统实践与展望研究报告中已有阐述。由于泛在操作系统尚处于探索成型阶段,不同类型的操作系统
26、开源工作正在蓬勃推进中,本报告期望能够在梳理目前国内外学术界、产业界在泛在操作系统开源生态方面的工作基础上,提出泛在操作系统开源生态体系框架,分析泛在操作系统的开源生态构成、与软件供应链关系等,并提出泛在操作系统开源生态未来发展的挑战分析和思考建议,从而促进泛在操作系统的开源生态的构建,以及开源与商业化相辅相成、良性发展。本报告共分为四个章节,之后的章节安排如下,第二章介绍泛在操作系统的概念及框架,梳理了国内外泛在操作系统开源工作情况。第三章介绍了泛在操作系统开源生态体系框架,分析开源生态的构成及其发展因素,并探索泛在操作系统开源生态与软件供应链的相互作用关系。第四章介绍了泛在操作系统开源生态
27、体系挑战与建议,介绍未来泛在操作系统开源发展面临的挑战,并从多个视角对泛在操作系统开源生态体系建设给出建议。04泛在操作系统开源生态体系研究报告|01.引言北京大学&腾讯研究院北京大学&腾讯研究院-泛在操作系统的开源生态发展现状-泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状05北京大学&腾讯研究院北京大学&腾讯研究院2.泛在操作系统的开源生态发展现状2.1.1.定义和特征06泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状泛在操作系统的概念及框架2.1为分析泛在操作系统的开源生态现状,本章节首先阐释泛在操作系统的定义、体系框架、分类等,本节内容摘
28、选自泛在操作系统实践与展望研究报告。操作系统是计算机系统中最为关键的系统软件之一。按照计算机科学技术名词(第三版)的定义,操作系统是“计算机系统中的一种软件。是具有特定功能的程序模块的集合,能有效管理软硬件资源,合理组织工作流程,向用户提供服务,使用户方便地使用计算机,使整个计算机系统能高效运行”。简言之,操作系统的主要功能是:向下管理资源(包括存储、外设和计算等资源),向上为用户和应用程序提供公共服务。自1956年第一个实际可用的操作系统GM-NAA I/O诞生以来,操作系统已经发展了近70年,从早期的面向单机的操作系统发展主线,到后来对网络和基于网络的并行、分布计算提供更好支持的发展辅线,
29、操作系统面向计算机硬件的迅速发展,以更好、更高效地管理硬件资源并充分发挥硬件资源所提供的计算能力;同时,面向新的应用需求和用户需求,沉淀应用领域共性,提供更便利、易用的人机交互和应用支撑。分析操作系统发展的重要事件及其时间节点,可以发现其中存在“20年周期律”的重大变迁规律,即每20年出现一次跨越式发展机遇,诞生新一代操作系统。即,20世纪6080年代的主机计算时代,如IBM OS/360、DEC VMS 和UNIX;20世纪80年代2000 年的个人计算时代,如微软Windows和开源Linux;20002020年移动计算时代,如谷歌Android和苹果iOS。这些在各个阶段出现的具有代表性
30、操作系统,构建了各自领域的操作系统生态。回顾操作系统的发展历史,可以看到,从不同的视角,操作系统呈现不同的功用:从计算机系统的视角来看,操作系统是一个资源管理器。通过管理和协调对各种底层软硬件资源的使用,发挥底层软硬件资源所提供的计算能力。同时通过硬件驱动程序来桥接异构硬件资源,提高系统的互操作性。北京大学&腾讯研究院北京大学&腾讯研究院随着互联网的快速发展,操作系统面向的计算环境在从单机、局域网平台向互联网平台延伸,为了更好地对不同的互联网计算与应用模式提供支持,以及管理和利用互联网平台上庞大的计算资源和数据资源,出现了面向新型互联网应用、基于单机操作系统的网络化操作系统。操作系统的任务重心
31、从解决如何提升计算资源的利用率,到如何为不同的领域应用与用户需求提供交互界面与应用模式的定制与优化,进而到如何提供通用的网络相关功能以支撑网络应用软件的运行和开发。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。从基础支撑角度,可以把操作系统划分为服务器操作系统、桌面操作系统、移动操作系统、云操作系统、嵌入式操作系统、物联网操作系统等。近年来,随着移动互联网和物联网的迅速发展,计算模式和软件应用都在逐步演化为更加复杂和动态的形式。在新的计算模式和应用场景中,除了传统的计算设备(“机”)和新兴的物联网设备、物理实体(“物”),还逐渐融
32、入了一种新的重要元素,即“人”的参与,从而形成人机物三元融合(human-cyber-physical)的计算环境。20 世纪 90 年代,Mark Weiser 提出了泛在计算(Ubiquitous Computing)的概念,认为计算是广泛存在的,计算机可以是任意尺寸大小、任意形状的,可以嵌入到每个物体中为人们提供服务。21 世纪以来,物联网(Internet of Things)提倡将物品通过信息传感设备,按照约定的协议与互联网连接起来,以实现智能化识别和管理。所谓泛在计算,是指计算无缝多变、需求多样、场景复杂,要求硬件资源、数据资源、软件平台、应用软件具有柔性灵活的软件定义能力、动态适
33、配能力、泛在互联能力和自然交互能力。随着泛在计算概念的深化,计算机可管理资源的范围将进一步扩大,机器人和智能家居开始成为操作系统的可管理资源,出现了机器人操作系统(ROS)和家庭操作系统(HomeOS)等新的操作系统概念。随着人机物融合的应用模式的进一步演化,操作系统的概念还会不断延伸和泛化,梅宏院士在 2018 年IEEE Computer杂志发表了题为“走向从系统使用者的视角来看,操作系统是一台虚拟机。一方面提供对底层资源细节的抽象,另一方面为使用者提供更方便易用的用户界面。对于软件开发人员来说,操作系统虚拟机还决定了其面对的编程模型。从应用软件的视角来看,操作系统是软件的开发和运行平台。
34、操作系统为应用软件的开发和运行提供各种必要的支撑,包括:应用软件的运行环境及其框架设施,应用软件运行所需资源及其调度和管理,以及应用软件开发和维护的若干工具。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状07北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统:一种软件定义的视角”的文章,提出“泛在操作系统(Ubiquitous Operating System)”的概念,来表示不限于 Windows/Linux 这样的传统操作系统的未来新型操作系统。可以看到,泛在操作系统的命名来自于操作系统随着技术发展的不断延伸与扩展,即从主机操作系统、个人(桌面)操作系统、移动终端
35、操作系统、物联终端操作系统的不断泛化,未来网络化的泛在操作系统所管理的终端包括主机、PC 端、移动终端、物联终端,不同发展阶段有各自的侧重点。随着“人机物”的融合发展,目前泛在操作系统发展重点是物联终端的接入与管控,以及用以支撑包括物联终端的各类网络应用开发运行支撑平台。泛在操作系统的概念指的就是在人机物融合的泛在计算模式下支持泛在应用开发和运行的操作系统平台。泛在操作系统是传统操作系统概念的进一步扩展与泛化,不再把操作系统的概念局限于像Linux 和 Windows 这样的单机操作系统。泛在操作系统支持新型泛在计算资源的管理和调度,以及泛在应用的开发运行。由于泛在计算场景的领域行业特定性、泛
36、在计算资源的广谱多样性和极端特异性,泛在操作系统的领域性和专用性将会比较突出,不会有“大一统”的通用、普适的泛在操作系统,有必要面向不同的应用模式和场景,“case by case”地构建面向不同领域不同需求的泛在操作系统。泛在操作系统提供了管理硬件(物理设备+物体+计算设备)和软件的抽象与资源虚拟化机制,以及应用的编程和运行时支撑环境,泛在操作系统的概念框架如图所示,主要由泛在资源抽象管理层、泛在应用开发与运行层构成。08主机PC+网络移动终端+网络物联终端+网络图2.1-1 操作系统的延伸与扩展2.1.2.体系框架泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状北京大
37、学&腾讯研究院北京大学&腾讯研究院软件定义是泛在操作系统构造的方法学,“软件定义”的核心技术途径是硬件资源虚拟化和管理功能可编程。泛在操作系统向下对各类泛在资源进行虚拟化,管理与协调各类资源,向上则是提供泛在应用的开发与运行环境,提供各类泛在应用的开发运维一体化环境。从使用环境角度,泛在操作系统分为基础平台类操作系统和应用场景类操作系统,其中,基础平台类从IT视角构建通用的资源抽象管理和应用开发运行支撑能力,应用于个人计算机、手机、服务器、物联网设备、云等电子类产品及 IT 基础设施;应用场景类操作系统在基础平台类操作系统的支持下,面向智慧城市、智慧交通、智慧建筑、机器人、智能家居等特定应用场
38、景的“人机物”融合需求和复杂系统,提供具有相应场景特色的统一计算资源抽象管理和应用开发运行支撑能力。当前,“数实融合”正在系统化、多方位发展,新应用新需求将持续涌现,泛在操作系统作为核心支撑软件也将持续进化和发展。2.1.3.分类及关系数据/信息计算/进程存储/数据库通信/关联泛在资源抽象人+物异构资源泛在资源管理APIs编程模型库函数开发工具集软件开发工具(SDKs)泛在应用运行与维护泛在资源抽象管理层 泛在应用开发与运行层 APPAPPAPPAPP管理功能可编程泛在资源虚拟化面向特定场景的应用向下管理各类泛在资源泛在操作系统图2.1-2 泛在操作系统体系框架未来更多数实融合场景应用场景类O
39、S智慧城市OS 智慧交通OS 智慧建筑OS机器人OS 智能家居OS 智能汽车OS.桌面OS 服务器OS 移动智能终端OS嵌入式及物联网OS 云OS基础平台类OS图2.1-3 泛在操作系统的分类泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状09北京大学&腾讯研究院北京大学&腾讯研究院不同泛在操作系统之间存在一定的交互与协同关系,例如在云计算的环境下,服务器操作系统既可以作为单独云服务器的中枢,又可以作为基于服务器集群的云操作系统的重要组成部分;在智慧城市或智慧交通场景中,移动终端操作系统、嵌入式及物联网操作系统可作为不同数据采集终端的核心系统软件,与智慧城市操作系统或智慧
40、交通操作系统等应用场景类操作系统进行交互和协同,共同支撑智慧化应用的构建和运行。此外,从操作系统网络化发展的角度,泛在操作系统也可被“广义”地用于指代基于单机操作系统(节点操作系统)、面向网络环境与场景的网络层操作系统,或者是“节点操作系统+网络操作系统”的组合形式。这与上述应用视角的泛在操作系统分类呈现正交关系,无论从哪个维度划分,面对人机物融合泛在计算新蓝海,泛在操作系统已进入蓬勃发展期。开源软件是代码创作者在使用相关开源许可证(如通用性公开许可证/General Public License 等)的基础上,将自己的源代码向世界公开,允许用户进行自主学习、报错、修改和再发布等活动,以共同提
41、高软件的质量。开源方法通过营造开放透明的社区创作环境,充分激发用户参与创新以及其他与生态相关群体的参与热情,并以自组织的松散方式相互协作,最终实现群体智慧的涌现。按照 2.1.3 泛在操作系统的分类,本报告编写组对泛在操作系统相关开源工作进行了调研梳理,并形成如下的泛在操作系统开源工作全景图,其中,基础平台类操作系统相关的开源社区、开源项目/产品较为丰富,应用场景类操作系统的开源社区和开源产品相对较少。102.2.1.泛在操作系统开源全景图泛在操作系统的开源现状2.2泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状北京大学&腾讯研究院北京大学&腾讯研究院在基础平台类操作系
42、统方面,除了国际开源社区,我国也有多个开源操作系统社区,研制了自主的社区版操作系统,社区版操作系统力求版权清晰、兼容开放、技术领先且被广泛使用。除了开源社区之外,部分企业也将自身的操作系统产品开源,选择开源与商业化并行的方式,来促进操作系统的产品迭代和应用推广。目前,国内主流的桌面和服务器计算机操作系统均源于开源 Linux 操作系统,国内操作系统厂商在国内外开源社区的贡献度不断提高。在嵌入式和移动终端领域,国内厂商的技术路线也与开源操作系统有着很深的联系。部分应用场景类操作系统虽为闭源系统,但也涉及开源组件的采用,以及需要生态伙伴二次开发、共同发展,因此应用场景类操作系统提供者对于产品的生态
43、体系建设较为关注,部分正在探索开放系统等与开源生态相关的开发与应用模式。总体而言,放眼全球市场,国产操作系统仍处于追赶态势,但越来越多的国内企业或社区正持续扩大自主研发和生产力度。无论是基础平台类还是应用场景类操作系统,开源的协作模式和生态构建将是其未来发展的重要突破点。以服务器操作系统为例,Linux 从发行之初已演进多个系统版本,而更好用、更具创新性的应用程序是在开源的 Linux 基础之上创建的。因此,各类泛在操作系统的开源发展中,一方面需要在上游与广泛的硬件终端等资源适配,在下游支撑构建更丰富的应用软件体系,另一方面在性能测试、协同开发、联合优化等几个层面,需要能做好技术创新、社区治理
44、。图2.2-1 泛在操作系统开源全景图泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状 泛在OS开源工作全景应用场景类OS开源工作智慧城市OSCityOS FoundationIOTOSIOTOSCityOSCityOS FoundationKaa.智能家居OSopenHAB TeamHome Assistant Core Team and CommunityHome AssistantopenHABDomoticz CommunityDomoticzJeedomjeedom.自动驾驶OSComma.ai百度ApolloopenpilotAutoware Foundati
45、onAutoware.Auto.智慧建筑OSKaaIoTOpenMoticsKaaOpenMotics机器人OS.YARPROSYARPOpen Robotics 基础平台类OS开源工作桌面OSFedora ProjectDebian ProjectDebianFedoraopenKylin社区openKylin OS龙芯开源社区Loongnix OSLinux Mint ProjectCanonicalUbuntuLinux Mint深度科技deepinOffensive Security Kali Linux.服务器OSFedora ProjectDebian ProjectDebianF
46、edora开放原子基金会openEuler龙蜥社区Anolis OSRed HatCanonicalUbuntuRHELOpenCloudOS社区 OpenCloudOS腾讯TencentOS Server.嵌入式及物联网OSReal Time EngineersContiki-NG CommunityContiki-NGLtd.FreeRTOSRIOT CommunityRIOTOpenWrt ProjectOpenWrt开放原子基金会AliOS Things(待更名)CanonicalArmMbedUbuntu CoreLinux基金会Zephyr开放原子基金会TencentOS Tiny
47、(待更名)北京大学XiUOS.移动智能终端OSLineageOS open-source communityGoogleLineageOSUBports CommunityUbuntu Touch OSPostmarketOS open-source communityPostmarketOS开放原子基金会OpenHarmonyAndroidJollaSailfish OS.云OSOpenInfra基金会OpenStackRed HatOpenShiftOpenNebula CommunityOpenNebulaApache Software FoundationApache CloudSta
48、ckCloud Foundry FoundationCloud Foundry11北京大学&腾讯研究院北京大学&腾讯研究院2.2.2.基础平台类操作系统桌面操作系统12桌面操作系统是配置于个人计算机硬件之上的第一层基础软件,对下管理个人计算机系统的全部硬件资源,对上为各类复杂应用提供运行环境。桌面操作系统的重要特征是根据人在键盘、鼠标、触摸屏等设备上发出的命令进行工作。桌面操作系统主要包括三类:DOS 操作系统、Unix 和类 Unix 操作系统,Windows 操作系统。随着多年的发展,桌面操作系统已广泛应用于个人台式机、笔记本、一体机等终端产品,并拓展了对云计算支持的能力。常用的桌面操作系
49、统包括:DOS 操作系统、Windows、MacOS、Ubuntu、统信 UOS、中标麒麟等。桌面操作系统的部分国际、国内开源工作情况如下表所示,目前我国有多家桌面操作系统企业在积极推动开源工作。桌面操作系统开源OS组织/公司Debian ProjectDebianhttps:/www.debian.org/开源OS产品简介官方网站Debian是由社区支持的 Debian 项目开发的由自由和开源软件组成的Linux发行版,Debian的第一个版本(0.01)于1993年9月15日发布。Canonical Ubuntuhttps:/ ProjectFedorahttps:/getfedora.o
50、rg/Fedora 是由社区支持的 Fedora 项目开发并由Red Hat 赞助的 Linux 发行版,在 2003 年首次发布,是一套功能完备、更新快速的免费操作系统。Linux Mint ProjectLinux Minthttps:/ Mint 是一种基于 Ubuntu 的 Linux 发行版,由 Linux Mint Team 团队于 2006 年开始发行,是对用户友善而功能强大的操作系统。openKylin 开源社区openKylin 开源操作系统https:/www.openkylin.top/index-cn.htmlopenKylin开源社区是由麒麟软件主导打造的中国桌面操作
51、系统根社区,旨在构建桌面操作系统顶级开源社区。深度科技deepinhttps:/www.deepin.org/index/zhdeepin,是深度科技有限公司开发的开源操作系统。它是基于Debian的稳定版本的一个Linux发行版,于2004年首次发布,是基于Debian的稳定版本的一个Linux发行版。龙芯开源社区Loongnix操作系统http:/ Linuxhttps:/www.kali.org/Kali Linux是基于Debian的Linux发行版,2013年发布第一版,由Offensive Security公司维护和资助,适用于各种信息安全任务。泛在操作系统开源生态体系研究报告|0
52、2.泛在操作系统的开源生态发展现状北京大学&腾讯研究院北京大学&腾讯研究院服务器操作系统一般指的是安装在大型计算机上的操作系统,比如 Web 服务器、应用服务器和数据库服务器等,是用于管理大型计算机各类硬件资源、控制程序运行和支持应用软件运行的系统软件。随着云计算迅猛发展和广泛应用,云服务器成为与物理服务器并存的两种形式。云服务器提供了简单高效、安全可靠、处理能力可弹性伸缩的计算服务,用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。服务器操作系统主要集中在三类:1、Unix 系列:SUNSolaris,IBM-AIX,HP-UX,FreeBSD 等;2、Linux 系列:Red Ha
53、t Linux,CentOS,Debian,Ubuntu 等;3、Windows 系列:Windows Server 2003,Windows Server 2008,Windows Server 2008 R2 等。以 Linux 为代表的开源软件成为服务器操作系统市场的主流产品。服务器操作系统的部分国际、国内开源工作情况如下表所示。中国的操作系统企业正从开源的使用者向贡献者,甚至是技术的引 领 者 转 变。目前 我 国已有 多 个 服 务 器 开 源 社 区,包 括 OpenCloudOS,openEuler,OpenAnolis 等。例如,OpenCloudOS 国产开源操作系统社区,由
54、腾讯与合作伙伴共同倡议发起,以推动从源社区(L1)、商业版本(L2)到衍生稳定版本(L3)的全链路国产化服务器操作系统生态建设,从而为国内企业提供自主可控的上游版本,以及满足企业级稳定性需求的软件供应版本。目前社区生态伙伴已达 500 家,涉及操作系统厂商、芯片厂商、整机厂商、行业用户、云厂商、存储厂商、数据库厂商、中间件厂商等产业链单位。OpenCloudOS 同源支持服务器,边缘计算,桌面等场景,旨在推动从源社区(L1)、商业版本(L2)到衍生稳定版本(L3)的全链路国产化操作系统生态建设,同时也沉淀了多家厂商在软件和开源生态的优势,在云原生、稳定性、性能、硬件支持等方面均有坚实支撑,截至
55、 2023 年 6 月,OpenCloudOS 社区发行版及衍生版本数量超过 6 个,装机量超过 1000 万节点,核心代码仓库数超过 46 个,兼容适配 900+国产软硬件及 30000+开源软件,实现主流芯片、数据库、整机的全覆盖,在政务、金融、互联网等行业经过长期使用验证。2.2.3.基础平台类操作系统服务器操作系统泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状13北京大学&腾讯研究院北京大学&腾讯研究院14TencentOS Server 是腾讯自主研发的服务器操作系统,2010年启动研发,基于Linux内核自主研发设计,历经了十余年的海量业务验证和持续演进。同
56、时,TencentOS Server 是基于 Open-CloudOS 开源社区原厂产品化,即从L1源社区开发出来的商业版本,其稳定性、性能、容器基础设施等核心能力方面都做了全面的增强和优化,TencentOS Server是OpenCloudOS开源社区原厂产品化的最佳实践结果,在稳定性、性能、容器基础设施等核心能力方面都做了全面的增强和优化,是100%开源的Linux发行版,用户态保持与CentOS兼容,且稳定性和性能更具优势,是云上CentOS的更优替代方案,可以满足不同业务场景对服务器操作系统的企业级需求。2019年,腾讯正式将TencentOS Server内核开源,向全球开发者全面
57、开放超过十年的技术积累。目前,Tencen-tOS Server kernel源代码已经移到OpenCloudOS社区维护,OpenCloudOS kernel是Tencen-tOS Server kernel镜像输出的稳定社区版本,链接:https:/ ProjectDebianhttps:/www.debian.org/开源OS产品简介官方网站Debian是由社区支持的Debian项目开发的由自由和开源软件组成的Linux发行版,Debian的第一个版本(0.01)于1993年9月15日发布。Canonical Ubuntuhttps:/ ProjectFedorahttps:/getfe
58、dora.org/Fedora是由社区支持的Fedora项目开发并由Red Hat赞助的Linux发行版,在2003年首次发布,是一套功能完备、更新快速的免费操作系统。Red HatRHELhttps:/ Hat Enterprise Linux(RHEL)是一个 由 Red Hat 开 发 的 商 业 市 场 导 向 的Linux 发行版,于 2003 年首次发布。开放原子基金会OpenEulerhttps:/www.openeuler.org/zh/openEuler是一个开源、免费的Linux 发行版平台,由2019年华为宣布开源。OpenCloudOS社区OpenCloudOShttp
59、s:/www.opencloudos.org/OpenCloudOS 是由 20 余家操作系统、云平台、软硬件厂商与个人共同倡议发起的操作系统社区项目,目标是打造全面中立、开放、安全、稳定易用、高性能的 Linux 服务器操作系统。龙蜥社区Anolis OShttps:/ OS)是龙蜥社区发行的开源 Linux 发行版,支持多计算架构,提供稳定、高性能、安全、可靠的操作系统支持。腾讯TencentOS Serverhttps:/ Server 是腾讯自研的服务器操作系统,在 2019 年正式全面开源。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状北京大学&腾讯研究院北京
60、大学&腾讯研究院移动智能终端操作系统包括智能手机、手表等个人用户使用的电子产品类操作系统。按照源代码、内核和应用环境等的开放程度划分,智能手机操作系统可分为开放型平台(基于 Linux 内核)和封闭型平台(基于 UNIX 和 Windows 内核)两大类。智能手机操作系统有 Symbian OS、Android OS、Windows Phone、iOS、鸿蒙 OS 等。移动智能终端操作系统的部分国际、国内开源工作情况如下表所示。国际谷歌 Android 不断吸引更多 App 开发者投入,并且寻求与更多芯片制造商及手机厂商的合作,共同推广 Android 开放平台;国内华为已将 HarmonyO
61、S 基础能力代码捐献给开放原子开源基金会,以壮大开源鸿蒙产业。2.2.4.基础平台类操作系统移动智能终端操作系统移动智能终端操作系统开源OS组织/公司GoogleAndroidhttps:/ 是一个基于 Linux 内核与其他开源软件的开放源代码的移动操作系统,由谷歌成立的开放手持设备联盟持续领导与开发。UBports CommunityUbuntu Touch OShttps:/ubuntu-touch.io/zh_CN/Ubuntu Touch 是 Canonical 公司与 Ubuntu 社区所开发的移动设备操作系统,专为触屏行动设备所设计。之后 UBports 社区接手并进行开发。Jo
62、llaSailfish OShttps:/sailfishos.org/Sailfish是一个以Linux为基础的开源操作系统,主要用于移动设备,由Jolla公司在Mer项目基础上开发而来。PostmarketOS open-source communityPostmarketOShttps:/postmarketos.org/postmarketOS始于2017年5月6日,是一个针对智能手机开发的自由开源操作系统,基于Alpine Linux发行版。LineageOS open-source communityLineageOShttps:/lineageos.org/LineageOS始于
63、2016年12月24日,是一个面向智能手机和平板电脑的自由、免费、开放源代码的Android系统分支。开放原子基金会OpenHarmonyhttps:/ 目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状15北京大学&腾讯研究院北京大学&腾讯研究院16嵌入式及物联网操作系统是指用于嵌入式系统、物联网终端设备的操作系统,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通讯协议、图形界面、标准化浏览器等。目前,业界嵌入式及物联网操作系统有TencentOS Tiny,Ten
64、centOS Edge,FreeRTOS,HarmonyOS,AliOS Things,RT-Thread、SylixOS等,北京大学也研发了工业物联网操作系统矽璓XiUOS。嵌入式及物联网操作系统的部分国际、国内开源工作情况如下表所示。目前国内外高校、企业在此方面的开源工作较为丰富,相关产品可以支撑满足不同复杂度的应用场景需求。例如,2021年5月4日,北京大学信息技术高等研究院泛在操作系统实验室在Trustie和木兰社区开源发布了矽璓工业物联操作系统XiUOS。XiUOS是一款面向工业物联场景的泛在操作系统,支持工业物联网应用,帮助解决在车间内实施智能化生产面临的“全面感知、泛在互联、实时
65、认知、精准调控”等问题,促进工业领域人机物的深度互联和融合计算,使能智能制造。“感联知控”工业物联应用框架是XiUOS的重点,面向工业环境智能化生产特点和需求做了针对性设计和优化,以简化工业物联应用的开发、部署、管理和运维。TencentOSTiny(腾讯捐赠待更名)是开放原子开源基金会孵化的,面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOSTiny(待更名)提供精简的RTOS内核,内核组件可裁剪可配置,可快速移植到多种主流MCU(如 STM32、NXP、GD32、沁恒 RISC-VMCU)及模组芯片上。而且
66、,基 于 RTOS 内 核 提 供了丰富的 物 联 网 组 件,内 部 集 成 主 流 物 联 网 协 议栈(如CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。2.2.5.基础平台类操作系统嵌入式及物联网操作系统嵌入式及物联网操作系统开源OS组织/公司Contiki-NG CommunityContiki-NGhttps:/ 是一种用于物联网中资源受限设备的操作系统,于2017 年发布第一个版本。Real Time Engineers Ltd.FreeRTOShttps:/www.freertos.org/zh-cn
67、-cmn-s/FreeRTOS 是用于嵌入式设备的实时操作系统内核,由 2003 年最初发布。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状北京大学&腾讯研究院北京大学&腾讯研究院云操作系统,又称云计算中心操作系统、云OS,是云计算后台数据中心的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源之上的云平台综合管理系统。目前,行业内已有多款云操作系统产品,如OpenStack云操作系统、微软的Microsoft Azure、腾讯遨驰Orca、阿里飞天云OS、京东云混合多云操作系统云舰、浪潮云海OS、国云OS等。2.2.6.基础平台类操作系统云操作系统嵌入式及
68、物联网操作系统开源OS组织/公司开源OS产品简介官方网站RIOT CommunityRIOThttps:/www.riot-os.org/RIOT 是一个适用于物联网设备的低内存占用操作系统。OpenWrt ProjectOpenWrthttps:/openwrt.org/OpenWrt是适用于嵌入式设备的一个Linux发行版,由2004年首次发布。ArmMbedhttps:/ FoundationZephyrhttps:/zephyrproject.org/Zephyr是一个小型的实时操作系统,用于资源受限的嵌入式互联设备,在2016年发布。Canonical Ubuntu Corehttp
69、s:/ Core是一个轻量,容器化,且为物联网设备和嵌入式系统所打造的版本。开放原子开源基金会TencentOS Tiny(待更名)https:/ Tiny 是腾讯面向物联网领域开发的实时操作系统,于2019 年对外开源发布,2020 年捐赠给开放原子开源基金会。开放原子开源基金会AliOS Things(待更名)https:/ Things 是阿里巴巴 2017年推出的面向 IoT 领域的轻量级开源物联网嵌入式操作系统,2021 年捐赠给开放原子开源基金会。北京大学XiUOShttps:/xuos.io/XiUOS操作系统是一款面向工业物联场景的泛在操作系统。2021年5月4日,北京大学梅宏
70、院士操作系统团队研发成果XiUOS矽璓工业物联操作系统正式在确实Trustie和木兰开源社区发布。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状17北京大学&腾讯研究院北京大学&腾讯研究院18腾讯分布式云操作系统遨驰Orca是行业首个全域治理的云原生操作系统。是腾讯分布式云战略的载体,腾讯云分布式云将中心云的产品和服务延伸到本地、边缘、终端,用户任意需要的地方。遨驰Orca基于腾讯20多年云架构技术积累与海量业务锤炼,基于开源创新的产品理念打造,可统一调度腾讯云内外的服务器、kubernetes集群等资源,并为用户提供统一管理和极致资源利用率等,可高效支持分布式云场景,
71、满足数实融合趋势下各行各业数字化转型对云计算的多样化需求。云操作系统的部分国际、国内开源工作情况如下表所示。智慧城市操作系统的定位是一种面向城市计算的资源管理与应用构建需求的泛在操作系统,其核心技术本质是对下管理城市各类设施与数字资源、对上支撑各类场景的城市数字化与智能化应用。智慧城市操作系统的部分国际、国内开源工作情况如下表所示。2.2.7.应用场景类操作系统智慧城市操作系统云操作系统开源OS组织/公司OpenInfra FoundationOpenStackhttps:/www.openstack.org/开源OS产品简介官方网站OpenStack始于2010年,是Rackspace和美国
72、国家航空航天局的合作项目,是一个自由、开源的云计算平台。目前,由OpenInfra基金会开发和管理。Red HatOpenShifthttps:/ 是由红帽公司于 2011年推出的 PaaS 云计算平台,供用户创建网络应用(App、网站)。OpenNebula CommunityOpenNebulahttps:/opennebula.io/OpenNebula是专门为云计算打造的开源系统,用于构建和管理企业云,首次公开发布于2008 年。Apache Software FoundationApache CloudStackhttps:/cloudstack.apache.org/CloudSt
73、ack于2010年由C发布,是用于创建、管理和部署基础设施云服务的开源云计算软件。Cloud Foundry FoundationCloud Foundryhttps:/www.cloudfoundry.org/Cloud Foundry是一个开源的云计算平台,首次发布于2011年,目前由Cloud Foundry 基金会管理。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状北京大学&腾讯研究院北京大学&腾讯研究院 自动驾驶操作系统是智能汽车的核心软件,也是实现软件定义汽车的关键支撑能力,具体包括针对汽车场景定制的复杂大规模嵌入式系统运行环境以及自动驾驶核心功能模块。自动
74、驾驶操作系统的部分国际、国内开源工作情况如下表所示。2.2.8.应用场景类操作系统自动驾驶操作系统智慧城市操作系统开源OS组织/公司IoTOSIoTOShttp:/ FoundationCityOShttps:/cityos.io/CityOS允许当地市民从头开始快速开发智慧城市,允许人们轻松设计、构建、定制、部署和维护智慧城市应用程序和硬件。IOTOS打造开放的物联网中间件平台,广泛适用于建筑、环保、工业等IoT多系统数据融合与集成场景,以子系统设备接入为核心,提供数据展示及应用扩展能力,帮助企业快速搭建行业应用、交付信息化集成项目。KaaIoTKaahttps:/ 作为一个灵活的平台,可以
75、作为旧设备和全新设备的云中心,提供智慧城市解决方案以及用于智能建筑自动化。自动驾驶操作系统开源OS组织/公司开源OS产品简介官方网站百度Apollohttps:/www.apollo.auto/阿波罗是百度于2017年开源发布的为汽车行业及自动驾驶领域合作伙伴提供的开源自动驾驶汽车技术平台。Comma.aiopenpilothttps:/comma.ai/openpilot是由comma.ai开发的开放源代码半自动驾驶系统。在2016年开放源代码。Autoware FoundationAutoware.Autohttps:/www.autoware.org/Autoware.Auto是于201
76、8年12月由Autoware基金会发布的自动驾驶汽车“一体化”开源软件。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状19北京大学&腾讯研究院北京大学&腾讯研究院2.2.9.应用场景类操作系统智慧建筑操作系统机器人操作系统提供了一系列程序库和工具,可实现对机器人构件的硬件抽象描述和驱动管理、以及支撑软件开发者创建机器人应用软件。机器人操作系统的部分国际、国内开源工作情况如下表所示。2.2.10.应用场景类操作系统机器人操作系统20智慧建筑操作系统是用于智慧建筑场景的操作系统,针对建筑内的硬件、应用、服务等资源,提供物联、管理与数字服务,赋予建筑综合协同的智慧能力,并为建
77、筑管理运营者与建筑业主方提供安全、高效、便利的建筑综合管理运营系统。目前,OpenMotics等组织所开发的智慧建筑操作系统,可以用于城市类的各类建筑。此外,腾讯云的智慧建筑操作系统微瓴虽然不是开源操作系统,但在探索开放生态系统模式,通过提供给建筑产业链多个环节使用的工具箱,降低产业从业者进入智慧化体系的门槛,支持建筑产业链上的各类硬件设备厂商、智慧建筑集成商、建筑地产开发和运营企业、物业公司等各类生态主体基于智慧建筑操作系统进行快速的开发创新。智慧建筑操作系统的部分国际、国内开源工作情况如下表所示。智慧建筑操作系统开源OS组织/公司开源OS产品简介官方网站KaaIoTKaahttps:/ 作
78、为一个灵活的平台,可以作为旧设备和全新设备的云中心,提供智慧城市解决方案以及用于智能建筑自动化。OpenMoticsOpenMoticshttps:/ RoboticsROShttps:/www.ros.org/ROS是专为机器人软件开发所设计出来的一套开源操作系统架构,由2007年首次发布。RobotologyYARPhttps:/yarp.it/latest/index.htmlYARP(Yet Another Robot Platform)用于处理机器人中传感器、执行器和处理器之间的通信,在2002年首次发布。智能家居操作系统一方面通过对家具、电器、传感器等家庭设备的抽象和虚拟化,实现对
79、家庭设备资源的统一管理和控制;另一方面通过可编程设备的组件化开发、自动化规则配置来实现对回家场景、健康场景、娱乐场景、运动场景、离家场景等的应用开发和运行支持。智能家居操作系统的部分国际、国内开源工作情况如下表所示。2.2.11.应用场景类操作系统智能家居操作系统智能家居操作系统开源OS组织/公司开源OS产品简介官方网站Home Assistant Core Team and CommunityHome Assistanthttps:/www.home-assistant.io/Home Assistant是用于家庭自动化的免费开源软件,在2013年9月首次公开发布。openHAB Teamo
80、penHABhttps:/www.openhab.org/openHAB 是一种用 Java 编写的开源家庭自动化软件。它部署在本地并连接到来自不同供应商的设备和服务。Domoticz CommunityDomoticzhttps:/ 是可以让您完全访问管理家庭自动化的开源软件。泛在操作系统开源生态体系研究报告|02.泛在操作系统的开源生态发展现状21北京大学&腾讯研究院北京大学&腾讯研究院22-泛在操作系统开源生态体系框架-泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体
81、系框架开源生态是指商业组织、非营利机构以及广大个体开发者和用户,围绕核心开源技术(软件)的开发、应用和市场建立互利互补的依赖关系,从而形成的生态系统。开源生态由于汇聚了企业、开发者、开源基金会、产业联盟、政府、院校等众多参与方,持续吸纳来自全球各界的贡献,具有极快的发展速度和极大的创新潜力。随着协助开源软件开发和维护的现代平台的出现和不断完善,如 GitHub,Bitbucket 和 GitLab,开源软件项目正在以前所未有的速度增长。近年来,开源生态在全球科技创新和产业发展领域的影响力不断增加。开源生态关键内容包括个体学习、群体协作与生态可持续三个方面:1)个体学习:个体(主要包括开发者、维
82、护者等)作为开源生态的参与者,是影响软件质量和效率的关键因素,同时也是开源生态中最核心的角色之一。利用数据来度量个体学习和认知能力,利用海量的软件活动数据和先进的分析方法和工具,来建立对个体和群体行为的度量并以此来观察开源生态的特征和问题,是未来的核心挑战之一。2)群体协作:全球化软件活动已经发展成为一种不可逆转的趋势。分布在世界各地的软件涉众需要协同开发并发布高质量的软件,并需要持续迭代反馈以改进和升级软件,这些都将导致大规模的通信、协调和合作。因此,其中所涉及的社会性问题,如软件活动中涉及的众多角色能否积极参与并良好的协作,会影响软件生态中各类活动的效率以及产品的质量。3)生态可持续:开源
83、生态,在缺乏集中规划和管理的情况下,一个拥有数千个存储库和开发人员的生态系统如何运行?不同的涉众如何一起工作以完成不同的任务?软件生态系统如何可持续发展?这些都是值得探究的问题。在当前的时代背景下,开源像一股洪流席卷了全球软件产业,不仅是一种开放共享的软件形态,更成为数字时代新的生产方式和协作模式。开源的成功主要是能够借助快速形成的技术生态逐步建立新的商业生态,为更多的企业带来新的发展机遇。随着开源的迅速发展,社会力量不断涌入,开源生态已经成为当下开源发展的一个核心关键词。3.1.1.开源生态构成3.泛在操作系统开源生态体系框架开源生态的构成及其发展因素3.123北京大学&腾讯研究院北京大学&
84、腾讯研究院3.1.2.开源生态与软件供应链24一个软件项目可能同时依赖数千个其他项目。图 3.1-1展示了CRAN(Comprehensive R Archive Network,语言综合档案网络)复杂庞大的运行时依赖关系,其中节点是软件包(Pack-age),连线是软件包之间的运行时依赖关系。CRAN 在运行时上千个软件包会建立上万个依赖关系。不同于围绕同一软件项目形成的生态系统,这种由于项目之间的相互依赖(例如软件的构建或运行时依赖、开发者同时参与多个软件项目、软件代码的复制粘贴、软件项目的定制化等)形成的复杂关系网络被称为软件供应链。软件供应链与开源生态密切相关。一种常见的软件供应链模式
85、是企业将开源软件当作上游,对其进行定制化形成企业自研平台,并在此基础上开发各类应用。例如,很多企业在云操作系统OpenStack基础上定制开发了自己的云平台,或者在移动智能终端操作系统Android基础上定制开发了自有手机操作系统等。与此同时,开源构件在开源平台、企业自研平台,以及各类应用中被判断开源生态归根结底有两个维度,一是软硬件能否在供应链上占据关键位置,二是能否建立可持续的团队,把全国、全世界资源都整合进来。如果技术、项目、软件能在各种供应链关系网络上形成一个关键节点,那么在水平横向上可以说是成功的。在垂直纵向维度,围绕技术、软件、项目能够汇聚一个可持续的社区,围绕软件不断进行开发、维
86、护,某种程度上也就成功了。因此从横向和纵向两个维度去看开源项目是否成功,这个在开源的意义上才能够可持续。图3.1-1 CRAN 运行时的依赖关系泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架北京大学&腾讯研究院北京大学&腾讯研究院广泛使用。开源平台、企业自研平台、各类应用、开源构件之间相互依赖但又在一定程度上独立演化。因此,开源软件是构成软件供应链的重要元素,需要研究其分类、评测与特性识别,以更好支持软件供应链行为。具体来说,需要研究开源软件的自动分类与标注,使得开源软件能够被更快地了解和使用;需要研究相似开源软件的自动评测与对比,使得开源软件能够被正确而高效地使用;需要
87、研究开源软件的核心特性的识别与分析,理解各个特性在开源软件中扮演的角色及其重要性,从而避免重复造轮子,同时使得新的有价值的特性能够及时得到应用;需要研究开源软件中优质代码的评价方法,使其可以用于代码搜索结果的优化排序以及开发人员的能力评价。开源软件的另外一个重要研究内容是其变更影响,即确定开源软件的代码变更对于使用该开源软件的影响范围及影响程度。需要研究开源代码中安全漏洞的自动预警与修复,确保软件的安全性;需要研究开源软件的版本自动升级与热/冷替代,保证使用了开源软件的所有软件都能够可靠地实现版本升级或替换;需要研究开源平台与企业自研平台的同步演化,保证开源平台上的新特性能够及时得到应用,而自
88、研平台上的特性能够回馈给开源社区。此外,软件供应链在为人们提供便利的同时,也引入了新的风险和不确定性。一方面,供应链上任何一个节点的问题都可能波及链条上其他节点,使得损失被放大,例如月下载量达到千万的npm包就曾被黑客篡改,大量软件项目和开发者受到影响。另一方面,任何一个节点都可能受到供应链上其他节点的问题影响,使得问题定位与解决变得困难。因此,对于软件生态供应链风险的评估就变得愈发重要,很多企业(尤其是大企业)在这方面的需求也不断增加。具体而言,需要在对形成软件供应链的软件之间的功能性和组织性依赖关系进行大规模分析的基础上,对软件供应链中的脆弱点进行识别与分析,从而避免由此带来的潜在风险。随
89、着软件活动数据的逐渐丰富,软件供应链的研究开始从原来基于少量数据的定性分析方法向基于大数据的量化分析方法转变。这种量化供应链中的风险及其传递关系的方法为降低这些风险及其影响力提供了良好的契机。但需要指出的是,由于软件供应链几乎囊括了开发、运行过程中涉及的所有软硬件,涉及项目众多,项目间关系极其复杂,该方面的研究目前还处于初始阶段。当前操作系统呈现出代码规模庞大、系统结构复杂、组件成分多样、版本演化分化的发展态3.1.3.泛在操作系统的开源生态构建需求泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架25北京大学&腾讯研究院北京大学&腾讯研究院26势。仅一个操作系统的版本就需要
90、维护数以万计的开源软件包以支撑其功能和生态,例如,Ubuntu 18.04 涉及29207个软件包。由于开源代码的开放性与可获取性,使得操作系统形成了更加错综复杂的上下游开源构件供应链,例如,Andoid所含开源构件及其组合、依赖关系,能形成包含上百万节点的开源供应关系网络。可以看到,类似操作系统这样的大型软件供应链几乎涵盖了开发、运行、使用过程中涉及的所有软硬件及其生态。数以万计相互依存的软件项目形成的供应链为软件开发和使用带来了前所未有的困难;同时,规模指数级增长的软件项目及其之间庞杂的依赖关系使得供应链的复杂度激增。因此,如何理解并利用大规模代码和项目的供应链行为是一个亟待解决的重要问题
91、,其目的是帮助开发者/使用者提高效率并规避风险,包括利用供应链高效地找到可依赖的或可替换的高质量软件构件、工具或平台,及时发现供应链中的脆弱点并避免由此带来的潜在风险,并避免重复造轮子等。开源操作系统供应链构件众多、依赖复杂,泛在操作系统由于其需面向更多变的场景更复杂的泛在计算环境,相关的开源生态和供应链安全成了构建泛在操作系统生态亟须解决的关键问题。为了应对泛在操作系统这样的复杂软件供应链所带来的挑战,需要理解并度量大规模代码和项目的供应链模式,从中挖掘可借鉴的成功经验,同时及时识别潜在风险。以下是泛在操作系统开源生态构建方面需要考虑的重点问题。泛在操作系统面向的是泛在计算场景,为此需要集成
92、硬件资源、数据资源、软件平台、应用软件等,使其具有柔性灵活的软件定义能力、动态适配能力、泛在互联能力和自然交互能力。为此,泛在操作系统需集成各类泛性软件构建以满足不同场景、不同业务的复杂需求,这进一步提升了泛在操作系统地对软件供应链的依赖程度,软件供应链行为分析是泛在操作系统开源生态系统的关键一环。面向泛在操作系统的构建与应用需求,需要研究形成供应链的软件之间的功能性和组织性依赖关系,并进一步通过分析代码提交对象和软件包依赖等手段获取生态系统中的各类对象及他们之间的关联,建立包含开发者、项目、软件制品的多维软件供应链模型,并基于供应链建立各个对象的度量。该模型为生态系统中的软件涉众解决某个问题
93、寻找恰当的代码片段、软件库、开发者等提供有效的帮助。面向泛在操作系统的软件供应链行为分析泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统向下需管理泛在化计算资源,向上需支持泛在应用开发运行,既需要面临“云管边端物”乃至“人”的海量异构资源尤其是各种泛在化的“端”资源的有效管理,也需要进行各种多样化的新型应用的共性凝练,还需要支持和适应场景动态多变的复杂泛在计算环境,应对开放环境带来的安全可信挑战,为此面向泛在操作系统的软件供应链的风险评估成为关键,这是保障泛在操作系统安全可靠运行的关键支撑。构建泛在操作系统的生态体系将有助
94、于泛在操作系统的良性发展与迭代优化。泛在操作系统的生态体系建设需要多方参与、共建共治,其生态体系的建设与健康发展,需要完善的机制与先进的技术,需要研究面向泛在操作系统的生态体系组成要素与构建方法、研究面向多变需求的自适应自演化的生态形成机制、需要研究面向多因素的泛在操作系统生态评估与管理体系等,进而打造一个不断生长繁荣的泛在操作系统生态体系。面向泛在操作系统的软件供应链的风险评估 开源生态体系存在商业与开源混合的现象,商业组织在开源生态中扮演越来越重要的角色。在开源生态构建中,如何更好地促进各方创新、各种利益如何平衡、生态如何可持续发展等问题都是需要考虑的问题。在此方面,可以参考借鉴国际上成熟
95、开源社区的运营和发展模式。以国际服务器操作系统开源生态为例,Redhat、Ubuntu、SUSE 是基于 Linux 基础开源组件的三个具有广泛全球影响力的服务器操作系统体系,他们在几乎一致的上游基础上各自做商业发行版本,相互兼容、百花齐放、快速迭代,并共同支撑和兼容下游的云平台、AI 框架、Tomcat 等常用开源软件运行,也不断推动了服务器操作系统技术和产业的繁荣发展。从第 2 章泛在操作系统开源工作全景图可以看出,目前不同类型的操作系统均有多个开源推动主体/项目,支持开源与商业的有机融合、激发各类主体创新活力,将有利于促进操作系统技术的群体协作创新。泛在操作系统的构建与运维将会更加复杂,
96、如在智慧城市、智慧交通等复杂场景下,需要解决泛在资源分散、应用场景多变、服务提供灵活等问题,以促进不同系统之间的集成和互通,更灵活、集约、迅速地响应新业务需求。此外,如何设计有效地提供运维和运营服务的 泛在操作系统开源生态中的商业组织参与泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架27北京大学&腾讯研究院北京大学&腾讯研究院3.2.1.泛在操作系统在软件供应链中定位泛在操作系统开源生态体系3.228软件供应链从水平横向维度涵盖软硬件全栈的各类供应链关系网络,垂直维度从项目社区维度展示各类主体如何汇聚、协作、可持续发展。泛在操作系统在软件供应链中处于中枢位置,既需要对接上
97、游硬件、又需要支撑下游各类应用软件,如下图所示。泛在操作系统的泛在资源抽象管理层,不仅对传统的计算、存储资源进行抽象,还对各类传感器、数据等泛在资源进行抽象,这一层的实现机制与传统操作系统的硬件抽象层或驱动层很类似,但可以抽象与管理更加丰富多样的资源;泛在应用开发与运行层与传统操作系统相比,不仅要具备传统操作系统的作业管理和支撑用户交互能力,还需要提供具有相应场景特色的应用开发运行支撑能力,既可以支撑传统运行在节点上的应用程序,也可以支撑运行在云计算平台这样的网络层上的应用,以及面向智慧城市这样的更高层场景的应用。因此,泛在操作系统在软件供应链中涵盖固件、驱动程序、内核、网络管理软件、数据融合
98、与治理平台、平台软件等范围。机制,如何设计合理多方共赢的盈利模式,均是需要研究与解决的问题。为此,需要改变原有的各系统承建企业各自提供运维和运营服务的机制,建立新的规则或机制,使得其他数字化技术、产品、服务提供商也能高效、便捷参与应用场景类操作系统的共同建设和迭代升级。硬件固件开放技术架构云计算&技术体系 应用开发工具类技术体系数据融合与治理体系用户市场技术产品仿真和计算工具体系 技术能力:泛在软硬件抽象,泛在资源虚拟化,泛在应用编程和泛在运行时支撑环境(工具链)生态能力:建设特有供应链,成为全球供应链中关键节点体量渐增处理器指令集驱动程序网络管理平台软件仿真软件应用软件数据融合与治理固 件内
99、 核图3.2-1 泛在操作系统在软件供应链中的定位泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架泛在OS北京大学&腾讯研究院北京大学&腾讯研究院3.2.2.泛在操作系统开源生态框架泛在操作系统开源生态框架如图3.3所示,分别由泛在操作系统核心框架、面向泛在操作系统的开源社区营造与治理、面向泛在操作系统的软件供应链构建以及面向泛在操作系统的开源标准联动制定四部分构成。泛在操作系统核心框架定义了泛在操作系统提供了管理硬件(物理设备+物体+计算设备)和软件的抽象与资源虚拟化机制,以及应用的编程和运行时支撑环境,主要由泛在资源抽象管理层、泛在应用开发与运行层构成。目前,开源、众包
100、以及内源等软件开发社区模式已成为传统组织型软件开发模式之外的重要模式,因此带来开源闭源交织的复杂软件供应链和生态,构建泛在操作系统及其智能应用的开源社区与生态已成为必然趋势。为此,需要研究面向泛在操作系统的开源社区营造与治理,开放源代码社区由相关技术生态中涉众组成,包括企业内部人员,上下游合作伙伴,用户以及第三方拥有共同技术兴趣爱好的开发者和志愿者所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。该社区应面向泛在操作系统基础软件特性,构建开放共享社区,并有效支持开源社区的治理,包括开源社区管理、社区成员管理、社区贡献管理、社区许可证管理、
101、商业化管理等。当前,泛在操作系统应用和产业化还处于相对早期阶图3.2-2 泛在操作系统开源生态框架数据/信息计算/进程存储/数据库通信/关联泛在资源抽象人+物异构资源泛在资源管理APIs编程模型库函数开发工具集软件开发工具(SDKs)泛在应用运行与维护泛在资源抽象管理层 泛在应用开发与运行层 APPAPPAPPAPP面向泛在操作系统的开源社区营造与治理泛在OS开源社区构建泛在OS开源社区成员管理泛在OS开源社区商业化管理泛在OS开源社区贡献管理泛在OS开源社区许可证管理面向泛在操作系统开源标准联动制定泛在OS标准体系规划泛在OS核心标准制定泛在OS标准宣贯与实施泛在OS标准开源联动机制.面向泛
102、在操作系统的软件供应链构建与运维软件供应链行为分析软件供应链风险评估软件供应链管理流程软件供应链安全保障.泛在操作系统开源生态体系研究报告|03.泛在操作系统开源生态体系框架29北京大学&腾讯研究院北京大学&腾讯研究院30段,应鼓励企业、研究机构、用户单位、个体开展泛在操作系统的技术框架、参考实现和集成开发套件等研发创新,积极融入国际开源社区,同时建立相关中文开源社区,基于开放、共享、协同、生态的精神,推动泛在操作系统发展,社区的良好发展将有力促进泛在操作系统生态体系的建设与演化,为此需加速泛在操作系统及其智能应用开源社区的建设。由于操作系统的供应链构件众多、依赖复杂,导致暴露攻击面越来越多,
103、使得有关操作系统的安全问题从传统的单一软件的代码安全拓展到了供应链生态安全,其复杂性和安全性问题爆炸式增加,当有开源构件存在缺陷或构件间存在冲突,这些风险会随着软件供应链快速传递到上下游,进而会影响整个操作系统的生态的技术发展和生态环境。为此,需要研究面向泛在操作系统全生命周期的供应链构建与维护,针对泛在操作系统的开发、应用、测试等需求,研究软件供应链行为,进行供应链风险评估,制定合理供应链管理流程,并提供供应链安全保障等。当前美国NIST针对供应链安全分别制定了两个影响力较大的标准NIST-IR-7622和NIST-SP-800-161标准以及软件供应链安全实践指南系列等标准指南,我们国家也
104、制定了 信息安全技术 ICT供应链安全风险管理指南标准,这在一定程度上为供应链的构建与风险管理提供了指导,但是,面向泛在操作系统的供应链目前尚缺成功案例,其构建与运维机制需进一步探索。此外,还需兼顾开源软件供应链的知识产权要求、开源软件供应链合规性要求以及开源软件供应链的可靠性要求,进而打造适宜泛在操作系统良序发展的生态环境。在人机物融合趋势下,泛在操作系统尚处于快速发展阶段,但其定义、架构等方面缺乏统一的认知和标准规范。需探索开源软件项目成果相结合的标准研制模式,尝试开源标准联动模式。开源界具有技术领先性、国际性更强、发展速度快、更新频率高等特性,而标准界强调技术合规性、地域性更强、流程周期
105、较长、更新频率低,为此,将两者的优势联合在一起,研究泛在操作系统标准体系框架、制定核心技术标准、宣贯与实施相关标准并研究标准与开源的联动机制,更好推动泛在操作系统的研发与应用,为泛在操作系统生态系统的构建提供有力支撑。此外,在具体的操作系统类型方面,桌面操作系统、服务器操作系统的国家、行业标准相对较为成熟;但移动智能终端操作系统、云操作系统仅有信息安全技术要求,标准体系尚不健全;物联网操作系统、智慧城市操作系统、智慧交通操作系统、智慧建筑操作系统标准尚属空白。因此,需针对缺失的标准开展国家标准或行业标准的预研编制工作,加快泛在操作系统标准体系与相关标准的制定工作。泛在操作系统开源生态体系研究报
106、告|03.泛在操作系统开源生态体系框架北京大学&腾讯研究院北京大学&腾讯研究院-泛在操作系统开源生态体系挑战与建议-泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议31北京大学&腾讯研究院北京大学&腾讯研究院32泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议随着人类社会、信息空间、物理世界不断融合,一个万物互联人机物融合的时代正在开启,面对快速增长的海量异质异构的泛在资源,不断涌现的各类复杂的管理与应用需求,以及不断变化的人机物融合场景,这为泛在操作系统的构建与运行带来巨大的挑战。鉴于开源软件是一项复杂系统工程,代码开放共享、开发者全球分布
107、协作、以及人机协同群智创新等特征使得开源软件的研发与开源社区的运维亦成为所需面临的挑战。泛在操作系统开源生态体系的构建与其开源社区的运维模式无疑会面临诸多挑战,主要集中在基础平台构建的核心技术推进、开源生态平台与社区的建设发展、开源生态链形成与完善、开源产品应用与演化、知识产权保护、以及复合型人才培养等方面。操作系统是最基础最复杂的软件之一,长期以来,以 Windows、Linux、Android、iOS 等操作系统占据了主导地位,我国国产操作系统尚未形成良性的产业发展链与生态平台,传统基础软件跟随分叉为主,核心技术领域缺少引领能力,已有的基础软件开源项目规模小,影响力不足,项目成熟度不够,用
108、户使用门槛高,且缺乏其他国家地区参与者。为此,如何集中科研力量,在重点领域突破核心技术,以点带面迭代优化,成为首要需解决的问题。基础平台构建的核心技术研发挑战开源软件的良性发展需要构建起良好的生态,一个开源产品,社区的文化氛围和协同创造力可以吸引志趣相投的开发者们,在社区共享、共创、共赢,并会激发出无限的创造力。开源生态的建设根植于社区,有了健康社区生态的哺育,开源技术才能获得持续成长,开源软件方能不断完善。国际上成功的基金会模式在中国复制面临系列障碍,其他探索还在初期阶段,需要时间和效果的检验。构建泛在操作系统的开源生态社区更需要符合国情与市场需求的模式,不断吸引众多业界厂商与优秀人才的加入
109、,共同提升开源产品的质量。开源生态平台与社区的建设发展4.泛在操作系统开源生态体系挑战与建议挑战分析4.1北京大学&腾讯研究院北京大学&腾讯研究院虽然目前国内已有不少泛在操作系统的开源软件及其社区,但是尚不能成规模,国内目前的开源生态链主要还是以业务功能链为主,在基础软件领域生态尚属初期,规模相对较小。目前,利益相关者的开源生态链形成尚需时日,用户规模及其活跃度尚不足以形成生态效应,并且集中表现在缺少第三方开发者的支持,以及装机率低维护成本高等。开源生态链形成与完善当前,基础软件的开源及其社区建设亟需多方面的支持与保障,一方面需要政策促进基础软件开源的科研投入,另一方面需要依靠市场需求牵引基础
110、软件开源的落地实践。此外,国际开源授权协议体系复杂,合规规范使用难度大,为此需要研究开源“游戏规则”,打造符合国情的合适的开源模式,构建良序发展的环境。此外,泛在操作系统可改变传统烟囱式建设、运维和管理模式,面向人机物融合的新环境,提供标准化、一体化的泛在资源接入和构件化、场景化的泛在应用构建支持,为此,如何选择典型应用场景,开展泛在操作系统开源软件的应用,促进其不断演化与优化,成为尚需解决的关键问题之一。开源产品应用与演化开放和共享是开源软件的主要特征,但其依旧面临侵权危机,唯有强力的规制路径,才能维持其健康发展的长久动力。国内软件领域知识产权“文化”欠缺,保护力度一直不足。开源发展仍然需要
111、严格的知识产权保护制度支撑,基于许可证的IP保护更为复杂困难;本土开源许可证面临兼容与国际化难题。知识产权保护目前,兼具开源知识与操作系统基础专业知识的复合型人才缺口巨大。开源知识普及教育不够,开源人才匮乏,使用多贡献少;国际开源项目缺乏核心参与,领导力不足。相对于传统IT,开源对人才有着更多和更高的要求,需要有理解开源生态和掌握开源技术的开源意识,开拓互联网创新应用的创新意识,以及贴近应用、技术熟练、善于协作的实践能力。然而,当前中国高校的软件 开源人才培养泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议33北京大学&腾讯研究院北京大学&腾讯研究院34泛在操作系统的
112、最终服务对象是人类,人群中蕴含着巨大的智慧与创作力,为了更好地聚集群体智慧,需构建泛在操作系统的开源生态,通过营造开放透明的社区创作环境,充分激发人类的需求创新以及大规模群体的参与热情,并以自组织或无组织的松散方式相互协作,最终实现群体智慧的涌现,进而不断丰富泛在智能应用,最终将泛在操作系统打造为“共创共赢”的基础平台。在泛在操作系统的开源生态体系建设研究方面,需加强以下方面的建设:人才培养缺少相关的配套设施与机制,既没有形成有效的网络化软件协同开发和创新实践支撑环境,也没有建立有效的课堂教学与软件实践深度融合的培养模式。为此,如何培养高质量的复合型人才,成为泛在操作系统开源生态建设的重大挑战
113、之一。泛在操作系统正处于探索成型期,人机物融合泛在计算环境多变、需求多样、场景复杂,需要对硬件资源、数据资源、系统平台及应用软件等进行柔性灵活的软件定义,以支持泛在感知与互联、轻量计算与认知、动态适配、反馈控制、自然交互等新应用特征。面对这样的场景,传统软件理论、方法、技术、工具等已不能满足泛在系统开发的需求,因此,需加强新时代软件基础前沿技术与方法的研究,进而深入、全面地开展面向人机物融合的泛在操作系统研究,并成为泛在操作系统开源项目的核心关键主导力量,继而营造开放透明的社区创作环境,充分激发人类的需求创新以及大规模群体的参与热情,并以自组织或无组织的松散方式相互协作,实现群体智慧的涌现,不
114、断丰富泛在智能应用,打造“共创共赢”的基础软件平台。目前,开源、众包以及内源等软件开发社区模式已成为传统组织型软件开发模式之外的重要1、加强面向人机物融合的泛在操作系统核心技术研究,成为开源生态的关 键节点。2、加速泛在操作系统及其智能应用开源社区及其软件供应链的建设,营造 良好的开源生态环境。若干思考与建议4.2泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议北京大学&腾讯研究院北京大学&腾讯研究院模式,因此带来开源闭源交织的复杂软件供应链和生态,构建泛在操作系统及其智能应用的开源社区与生态已成为必然趋势。因此,基于互联网群体智能的软件开发方法和支撑平台研究、智能应
115、用市场的建立与运用等,均成为泛在操作系统建设需考虑的重要研究内容之一。同时,泛在操作系统应用和产业化还处于相对早期阶段,应鼓励企业、研究机构、用户单位、个体开展泛在操作系统的技术框架、参考实现和集成开发套件等研发创新,积极融入国际开源社区,同时建立相关中文开源社区,基于开放、共享、协同、生态的精神,推动泛在操作系统发展。探索适用于泛在操作系统的开源软件的设计、开发和采购以及开源软件供应链的构建,重点研究面向泛在操作系统软件供应链的高效构建、全面管理、安全保障、知识产权保护等技术与方案,打造适应于我国国情的泛在操作系统开源社区与供应链体系。在人机物融合趋势下,泛在操作系统尚处于快速发展阶段,但其
116、定义、架构等方面缺乏统一的认知和标准规范。此外,在具体的操作系统类型方面,桌面操作系统、服务器操作系统的国家、行业标准相对较为成熟;但移动智能终端操作系统、云操作系统仅有信息安全技术要求,标准体系尚不健全;物联网操作系统、智慧城市操作系统、智慧交通操作系统、智慧建筑操作系统标准尚属空白。为此,探索开源软件项目成果相结合的标准研制模式,尝试开源标准联动模式。开源世界具有技术领先性、事实代码为介质、国际性更强、发展速度快、更新频率高等特性,而标准世界强调技术合规性、文档为其主要介质、地域性更强、流程周期较长、更新频率低,为此,将两者的优势联合在一起,可以更好推动泛在操作系统的研发与应用。3、加快泛
117、在操作系统相关的标准研制,开启开源标准联动模式建议主管部门推动建立适合泛在操作系统开源社区、开源项目发展的机制,支持构建促进开源与商业有机融合的框架,在激发群体智能的同时,促进各界的通力合作。例如,支持开放原子开源基金会、中国计算机学会开源发展委员会等开源相关中立组织探索建立公平、公正、开放、合作的开源生态共建机制,并会同我国专业的标准化机构共同制定统一的泛在操作系统相关标准和参考实现平台,指导我国操作系统开源社区和项目百花齐放发展,促进更多企业和开发者参与开源生态;同时,鼓励我国已在桌面操作系统、服务器操作系统、移动智能终端操作系统、嵌入式及物4、加快建立泛在操作系统开源工作机制,引导各社区
118、百花齐放创新泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议35北京大学&腾讯研究院北京大学&腾讯研究院36联网操作系统、云操作系统以及各应用场景类操作系统方面开展开源工作的企业加强协同和合作,支持以企业为主体、产学研用协同的泛在操作系统开源社区体系化发展。据统计,89%的HR表示很难找到拥有合适开源技能的开源技术人员,67%的HR经理说在半年之内对开源技术人员的需求会比任何其他领域都要多,60%的公司寻找全职开源技术人员。泛在操作系统开源工作处于起步阶段,建议加强泛在操作系统生态相关的研发人才培养体系建设,进一步加强开源技能、开源意识、开源文化方面的课程培养;支持产
119、、学、研与行业协会、基金会共同合作,开展“开放原子校源行”“开放原子全球开源大赛”等活动,共同培育泛在操作系统产业发展相关的开源人才。我国应用领域的多样性和市场的纵深度正催生未来技术的变革并蓄势引领,例如在新一代人工智能、5G、车联网、工业互联网、泛在操作系统等方面潜力巨大。开源为我国信息技术发展提供了“弯道超车”的新机遇,其独特的开放协作模式有助于释放新型举国科技体制的强大势能,高效汇聚大众智慧,促进技术和应用生态的快速形成,推动我国自主创新技术迈向世界科技前列。泛在操作系统的最终服务对象是人类,人群中蕴含着巨大的智慧与创作力,为了更好地聚集群体智慧,需构建泛在操作系统的开源生态,通过营造开
120、放透明的社区创作环境,充分激发人类的需求创新以及大规模群体的参与热情,并以自组织或无组织的松散方式相互协作,最终实现群体智慧的涌现,进而不断丰富泛在智能应用,最终将泛在操作系统打造为“共创共赢”的基础平台。5、多方协同培养开源人才,促进泛在操作系统开源繁荣泛在操作系统开源生态体系研究报告|04.泛在操作系统开源生态体系挑战与建议北京大学&腾讯研究院北京大学&腾讯研究院泛在操作系统开源生态体系研究报告|参考文献参考文献1.梅宏,曹东刚,谢涛,泛在操作系统:面向人机物融合泛在计算的新蓝海,中国科学院院刊,2021,36(12).2.北京大学,腾讯研究院.泛在操作系统实践与展望研究报告.2022.8
121、3.梅宏,周明辉.开源对软件人才培养带来的挑战.计算机教育.2017 年第 1 期.4.中国软件行业协会.中国软件根技术白皮书(操作系统册).2022.125.网信自主创新调研报告编委会.2021 网信自主创新调研报告.2022.46.梅宏,郭耀.面向网络的操作系统现状和挑战.中国科学(信息科学),2013,43(3):303-321.7.Mei H,Guo Y.Operating systems for internetware:Challenges and future direc-tions/2018 IEEE 38th International Conference on Distr
122、ibuted Computing Systems(ICDCS).Vienna:IEEE,2018:1377-1384.8.Mei H,Guo Y.Toward ubiquitous operating systems:A software-defined perspec-tive.Computer,2018,51(1):50-56.9.梅宏,黄罡,曹东刚,等.从软件研究者的视角认识“软件定义”.中国计算机学会通讯,2015,11(1):68-72.10.国家自然科学基金委员会,中国科学院.中国学科发展战略 软件科学与工程.北京:科学出版社,2021.11.曹东刚,薛栋梁,麻志毅,矽璓:一款面向
123、工业物联场景的泛在操作系统,中国计算机学会通讯,2021,17(6):78-81.12.周明辉,张宇霞,谭鑫.软件数字社会学.中国科学:信息科学,2019,49:1399-1411,doi:10.1360/N112018-00319.13.Coelho J,Valente M T.Why modern open source projects fail.In:Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering.New York:ACM,2017.186196.37北京大学&腾讯研究院
124、北京大学&腾讯研究院3814.Xin Tan and Kai Gao and Minghui Zhou and Li Zhang.(2022)An Exploratory Study of Deep Learning Supply Chain.ICSE 22:44th International Conference on Software Engineering,Pittsburgh,PA,USA,May 2129,2022,DOI:10.1145/351003.3510199.15.Kai Gao and Zhixing Wang and Audris Mockus and Minghui
125、 Zhou.(2022)On the Variability of Software Engineering Needs for Deep Learning:Stages,Trends,and Application Types.IEEE Trans.Software Eng.,DOI:10.1109/TSE.2022.3163576.16.Runzhi He,Hao He,Yuxia Zhang,and Minghui Zhou.(2022)Automating Dependen-cy Updates in Practice:An Exploratory Study on GitHub De
126、pendabot.arXiv preprint arXiv:2206.07230(2022).17.He Hao,Runzhi He,Haiqiao Gu,and Minghui Zhou.(2021)A large-scale empirical study on Java library migrations:prevalence,trends,and rationales.In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Sympo-sium on th
127、e Foundations of Software Engineering,pp.478-490.2021.18.He Hao,Yulin Xu,Yixiao Ma,Yifei Xu,Guangtai Liang,and Minghui Zhou.(2021)A multi-metric ranking approach for library migration recommendations.In 2021 IEEE International Conference on Software Analysis,Evolution and Reengineering(SANER),pp.72-
128、83.IEEE,2021.19.He Hao,Yulin Xu,Xiao Cheng,Guangtai Liang,and Minghui Zhou.(2021)Migratio-nadvisor:Recommending library migrations from large-scale open-source data.In 2021 IEEE/ACM 43rd International Conference on Software Engineering:Companion Proceedings(ICSE-Companion),pp.9-12.IEEE,2021.20.Mingh
129、ui Zhou and Audris Mockus.(2015)Who Will Stay in the FLOSS Community?Modeling Participants Initial Behavior.IEEE Trans.Software Eng.41(1),2015.21.Fitzgerald,Brian,Audris Mockus,and Minghui Zhou,eds.Towards Engineering Free/Libre Open Source Software(FLOSS)Ecosystems for Impact and Sustainability:Com
130、munications of NII Shonan Meetings.Springer,2019.泛在操作系统开源生态体系研究报告|参考文献北京大学&腾讯研究院北京大学&腾讯研究院22.Xin Tan and Minghui Zhou.(2019)How to Communicate when Submitting Patches:An Empirical Study of the Linux Kernel.Proc.ACM Hum.Comput.Interact.3(CSCW),DOI:10.1145/3359210.23.Minghui Zhou and Qingying Chen and
131、 Audris Mockus and Fengguang Wu.On the scalability of Linux kernel maintainers work.Proceedings of the 2017 11th Joint Meet-ing on Foundations of Software Engineering,ESEC/FSE 2017,September 4-8,2017.24.Xin Tan and Minghui Zhou and Zeyu Sun.(2020)A first look at good first issues on GitHub.ESEC/FSE
132、20:28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering,Virtual Event,USA,November 8-13,2020.25.Wenxin Xiao and Hao He and Weiwei Xu and Xin Tan and Jinhao Dong and Minghui Zhou.(2022)Recommending Good First Issues in GitHub OSS Projects.44
133、th Interna-tional Conference on Software Engineering,ICSE 2022,May 21-29,2022,Pittsburgh,PA,USA.26.Yuxia Zhang and Minghui Zhou and Audris Mockus and Zhi Jin.(2021)Companies Participation in OSS Development-An Empirical Study of OpenStack.IEEE Trans.Soft-ware Eng.47(10),DOI:10.1109/TSE.2019.2946156.
134、27.Yuxia Zhang and Minghui Zhou and Klaas-Jan Stol and Jianyu Wu and Zhi Jin.(2020)How do companies collaborate in open source ecosystems?:an empirical study of OpenStack ICSE 20:42nd International Conference on Software Engineering,27 June-19 July,2020.28.Jianyu Wu and Hao He and Wenxin Xiao and Ka
135、i Gao an Minghui Zhou.(2022)Demy-stifying Software Release Note Issues on GitHub.Proceedings of the 30th IEEE/ACM International Conference on Program Comprehension.泛在操作系统开源生态体系研究报告|参考文献39北京大学&腾讯研究院北京大学&腾讯研究院4029.Chao Wang and Hao He and Uma Pal and Darko Marinov and Minghui Zhou.(2022)Suboptimal Com
136、ments in Java Projects:From Independent Comment Changes to Com-menting Practices.ACM Trans.Softw.Eng.Methodol.30.Weiwei Xu and Xin Wu and Runzhi He and Minghui Zhou.(2023)LicenseRec:Knowl-edge based Open Source License Recommendation for OSS Projects.Demonstrations Track of The 2023 IEEE/ACM 45th In
137、ternational Conference on Software Engineering.31.Jianyu Wu and Weiwei Xu and Kai Gao and Jingyue Li and Minghui Zhou.(2023)Characterize Software Release Notes of GitHub Projects:Structure,Writing Style,and Content.IEEE International Conference on Software Analysis,Evolution and Reengi-neering.32.Ha
138、iqiao Gu and Hao He and Minghui Zhou.(2023)Self-Admitted Library Migrations in Java,JavaScript,and Python Packaging Ecosystems:A Comparative Study.IEEE Inter-national Conference on Software Analysis,Evolution and Reengineering.33.Xin Tan,Yiran Chen,Haohua Wu,Minghui Zhou,Li Zhang.(2023)Is It Enough
139、to Recommend Tasks to Newcomers?Understanding Mentoring on Good First Issues.arXiv preprint arXiv:2302.05058.34.Xin Tan,Minghui Zhou,Li Zhang.(2023)Understanding Mentors Engagement in OSS Communities via Google Summer of Code.IEEE Transactions on Software Engi-neering.35.Hao He,Haonan Su,Wenxin Xiao
140、,Runzhi He,Minghui Zhou.(2022)GFI-bot:auto-mated good first issue recommendation on GitHub.Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering.36.Minghui Zhou.(2022)Open Source Software Digital Sociology:Engineering Open
141、 Source Software Ecosystem for Impact and Sustainability.Proceedings of the Federated Africa and Middle East Conference on Software Engineering.泛在操作系统开源生态体系研究报告|参考文献北京大学&腾讯研究院北京大学&腾讯研究院37.Minghui Zhou,Xinwei Hu,Wei Xiong.(2022)openEuler:Advancing a Hardware and Software Application Ecosystem.IEEE So
142、ftware.38.Xin Tan,Minghui Zhou,Brian Fitzgerald.(2020)Scaling open source communities:an empirical study of the Linux kernel.Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering.39.Xin Tan,Minghui Zhou.(2020)Scaling Open Source Software Communities:Chal-lenges and Practi
143、ces of Decentralization.IEEE Software,39(1),70-75.40.Zhixing Li,Yue Yu,Minghui Zhou,Tao Wang,Gang Yin,Long Lan,Huaimin Wang.(2020)Redundancy,Context,and Preference:An Empirical Study of Duplicate Pull Requests in OSS Projects.IEEE Transactions on Software Engineering.41.Minghui Zhou,Audris Mockus.(2
144、012)What make long term contributors:Willing-ness and opportunity in OSS community.Proceedings of the 34th International Confer-ence on Software Engineering.42.Minghui Zhou,Audris Mockus,Xiujuan Ma,Lu Zhang,Hong Mei.(2016)Inflow and retention in oss communities with commercial involvement:A case stu
145、dy of three hybrid projects.ACM Transactions on Software Engineering and Methodology.43.XiuJuan Ma,MingHui Zhou,Dirk Riehle.(2013)How commercial involvement affects open source projects:three case studies on issue reporting.Science China Information Sciences.44.Yuxia Zhang,Minghui Zhou,Wei Zhang,Hanyan Zhao,Zhi Jin.(2017)How Commer-cial Organizations Participate in OpenStack Open Source Projects.Journal of Software.泛在操作系统开源生态体系研究报告|参考文献41北京大学&腾讯研究院北京大学&腾讯研究院