重磅新书推荐,一本好书,帮助读者更好地理解开源软件供应链
重磅新书推荐
近年来,因开源软件引发的安全事件频繁发生,引起了学术界和工业界的广泛关注,并形成了一个新兴领域——开源软件供应链。
目前,该领域仍处于快速发展的阶段。虽然已有许多研究和实践成果,但还缺乏体系化梳理的工作,这导致对该领域的理解和参与门槛较高。开源软件供应链涉及多个学科领域,包括管理学、社会学、软件工程、数据科学等。
为了帮助读者更好地理解开源软件供应链,中国科学院软件研究所总工程师武延军博士领衔创作,多名院士、专家联名推荐,重磅推出《开源软件供应链》。
本书聚焦于开源软件供应链的前沿成果,提出了一套完整的开源软件供应链治理框架,并以框架中的核心模块为索引,归纳和整理已有研究成果以及面临的挑战,同时辅以实践方法和具体案例,帮助读者更好地理解开源软件供应链。
本书适读人群
本书可以作为开源软件供应链领域研究人员或工程技术人员的参考用书,也可以作为开源软件爱好者的入门书籍。
对于研究人员而言,本书提出了一种治理框架,旨在帮助他们更好地理解开源软件供应链领域的研究问题,即框架中各个核心模块需要应对的挑战。通过阅读相关章节,研究人员能够了解相关问题的研究现状,明确自己的研究兴趣,并发掘潜在的研究问题。这将使他们更容易投身于开源软件供应链领域的研究工作。
对于工程技术人员而言,通过本书能够了解开源软件供应链存在的问题,并学习如何有效地进行治理。开源软件供应链基础设施的设计可以作为工程技术人员实施开源软件供应链治理的指导,并为具体实施提供思路。开源软件供应链的可视化呈现技术可以帮助工程人员在实践中实现更好地交互效果。此外,丰富的实践案例也可以为工程技术人员提供实践指导和效果验证参考。
对于大多数希望参与和贡献开源软件但缺乏经验的在校学生来说,通过阅读本书,他们可以了解开源软件供应链的形成和运行机制,以及面临的风险和挑战。进而也能够了解到开源生态系统是如何运转的,为参与开源打下基础。开源软件供应链安全已经成为全球热点问题,相关研究问题和工程技术同样备受关注,本书也可以帮助在校学生了解这一有潜力的发展方向。
本书特色
1. 体系化梳理开源软件供应链相关知识。根据对开源软件供应链的背景、定义和特征等方面的总结,以及对已有相关领域的研究成果的梳理,本书提出了一个完整的开源软件供应链治理框架。本书以框架核心模块为索引,系统地梳理了开源软件供应链已有的研究成果和挑战,能帮助读者更好地了解什么是开源软件供应链、为什么需要关注开源软件供应链以及如何治理。
2. 理论结合实践。结合开源软件供应链治理框架和各个核心模块研究成果,本书提出了一种建设开源软件供应链基础设施的思路。从功能性、非功能性以及目标用户三个方面,深入挖掘和分析了建设开源软件供应链基础设施的需求。在此基础上,形成了一套能够适配多个场景、具有可用性、可扩展性和可维护性的基础设施总体设计方案。通过openEuler开源社区、PyPI开源制品仓库和“开源软件供应链点亮计划”三个具体的实践案例,帮助读者更好地理解如何将相关研究成果落地应用,以及这些成果在实践应用中的效果。
3. 内容循序渐进,逐级递进。在充分考虑读者不同基础和不同阅读目的后,本书采用循序渐进的方式组织内容。对于相关领域积累较少的读者,前几章提供了开源软件供应链的概述以及相关领域研究基础的总结,以帮助他们更好地理解开源软件供应链,并为进一步深入该领域做好铺垫。对于已经具备丰富经验的用户,后续章节的内容可以帮助他们了解相关领域的研究和发展现状,并快速理解和掌握实践方法。
目录
Contents目 录
前言
第1章 什么是开源软件供应链 / 1
1.1 关注开源软件供应链的原因 / 1
1.2 开源软件供应链的基础知识 / 8
1.2.1 开源软件供应链的定义 / 8
1.2.2 开源软件供应链的特征 / 10
1.2.3 开源软件供应链面临的风险 / 16
1.2.4 开源软件供应链的法律政策 / 25
1.3 本书的组织框架 / 28
1.4 本章小结 / 29
第2章 开源软件供应链的国际形势 / 30
2.1 具有影响力的开放组织 / 30
2.1.1 OpenSSF / 30
2.1.2 OWASP / 35
2.1.3 SPDX / 36
2.1.4 OpenChain / 37
2.1.5 Openwall / 37
2.1.6 中国计算机学会开源发展委员会 / 38
2.1.7 开放原子基金会开源安全委员会 / 38
2.2 关注开源软件供应链安全的企业 / 39
2.2.1 Sonatype / 39
2.2.2 Synopsys / 40
2.2.3 科技巨头 / 41
2.3 各国对开源软件供应链安全的态度 / 41
2.3.1 国外 / 41
2.3.2 国内 / 45
2.4 本章小结 / 46
第3章 开源软件供应链的研究基础 / 47
3.1 供应链的相关研究 / 47
3.1.1 供应链定义及管理研究概述 / 47
3.1.2 供应链网络研究概述 / 50
3.2 软件供应链的相关研究 / 53
3.2.1 传统软件供应链研究概述 / 53
3.2.2 开源软件供应链研究概述 / 54
3.2.3 供应链中关键软件识别研究概述 / 57
3.3 软件供应链建模的相关研究 / 59
3.3.1 软件仓库挖掘研究概述 / 59
3.3.2 软件工程领域的知识图谱研究概述 / 62
3.4 本章小结 / 64
第4章 开源软件供应链模型 / 65
4.1 面向主要环节的供应链模型 / 65
4.2 开源软件供应链的形式化模型 / 67
4.2.1 自动机构建 / 68
4.2.2 自动机验证 / 73
4.3 开源软件供应链的知识化模型 / 77
4.3.1 本体设计 / 77
4.3.2 知识抽取 / 83
4.3.3 知识融合 / 88
4.3.4 知识更新 / 89
4.4 工业界常用的供应链模型——软件物料清单 / 90
4.4.1 背景 / 90
4.4.2 技术组成 / 91
4.4.3 已有的产品及分类 / 95
4.4.4 技术应用现状 / 97
4.4.5 挑战 / 100
4.5 本章小结 / 102
第5章 开源软件供应链的风险评估体系 / 103
5.1 面向供应链主要环节的风险防控体系 / 103
5.1.1 风险模型 / 104
5.1.2 开源软件供应链中第三方组件的风险识别 / 105
5.1.3 开源软件供应链视角下的应用软件风险识别 / 117
5.1.4 协作开发的风险识别 / 127
5.1.5 下载更新过程的风险识别 / 130
5.1.6 风险应对策略 / 131
5.2 基于知识化模型的风险防控体系 / 141
5.2.1 风险模型 / 143
5.2.2 面向安全性风险的管控方法 / 144
5.2.3 面向合规性风险的管控方法 / 146
5.2.4 面向维护性风险的管控方法 / 149
5.2.5 风险应对策略 / 154
5.3 本章小结 / 156
第6章 开源软件供应链的关键节点识别与维护 / 157
6.1 开源软件供应链的关键节点 / 157
6.2 关键节点识别方法 / 159
6.2.1 Criticality score / 159
6.2.2 Gitee指数 / 161
6.2.3 CriticalityRank / 164
6.3 本章小结 / 173
第7章 供应链软件评估和筛选 / 174
7.1 供应链软件 / 174
7.2 供应链软件评估需要解决的问题 / 176
7.3 供应链软件评估指标体系 / 177
7.3.1 评估属性定义 / 178
7.3.2 评估属性度量 / 180
7.4 供应链软件评估方案 / 182
7.4.1 指标权重设计 / 183
7.4.2 评估结果计算 / 185
7.5 供应链软件评估模型评价 / 189
7.6 面临的问题与挑战 / 191
7.6.1 研究难点与挑战 / 191
7.6.2 未来研究方向 / 193
7.7 本章小结 / 198
第8章 开源软件供应链基础设施的建设 / 199
8.1 需求分析 / 199
8.1.1 开源软件供应链基础设施的功能性需求 / 200
8.1.2 开源软件供应链基础设施的非功能性需求 / 202
8.1.3 开源软件供应链基础设施的目标用户 / 203
8.2 基础设施设计 / 205
8.2.1 总体设计 / 206
8.2.2 数据基础设施 / 210
8.2.3 一体化服务基础设施 / 212
8.3 本章小结 / 215
第9章 开源软件供应链的呈现与应用 / 216
9.1 供应链管理的可视化呈现 / 216
9.1.1 知识图谱的可视化表示技术 / 218
9.1.2 大规模知识图谱的可视化技术 / 218
9.1.3 知识图谱的可视化查询 / 219
9.1.4 开源软件供应链管理的可视化呈现 / 223
9.2 典型应用案例 / 225
9.2.1 在openEuler开源社区的应用 / 225
9.2.2 在PyPI开源制品仓库的应用 / 232
9.2.3 开源软件供应链点亮计划 / 236
9.3 本章小结 / 241
参考文献 / 242
01
专家推荐
王怀民,CCF会士、中国科学院院士,中国计算机学会开源发展委员会主任,中国软件行业协会理事长
从供应链视角来梳理洞察海量开源软件之间的复杂关系,是了解软件的科研和产业版 图、建立数字世界全局观的一种有效方式。本书基于作者在该领域的多年研究和实践,系统 讲解了开源软件供应链的来龙去脉,是一部值得软件从业人员阅读的参考书。
02
专家推荐
包云岗,中国科学院计算技术研究所副所长,北京开源芯片研究院首席科学家
开源是信息技术发展的大势所趋,是构建人类命运共同体的人心所向。软件所多年以来 聚焦开源软件供应链开展了大量基础性、前瞻性的工作,本书汇聚了相关理论研究和实践经 验,也系统梳理了国内外在开源软件供应链方向的最新研究成果,既是软件从业人员的专业 参考书,也会给其他开源领域带来启发。
03
专家推荐
蒋涛,CSDN 创始人&董事长,中国计算机学会开源发展委员会常务委员
现代软件的代码大部分来自开源框架和组件,如何选择和分析这些开源项目,既关系到 安全可靠又关系到性能效率,本书将开源软件与供应链管理相结合,展现了开源软件供应链 管理最佳实践,是企业和开发者实现效率与安全的必读之作。
04
专家推荐
任旭东,华为首席开源联络官
开源软件已成为软件发展的主流模式,开源软件供应链的治理和维护是全球共同使命。华为公司与软件所在“开源之夏”活动中开展多年合作,批量培养输送高质量开源后备人才,共同维护开源软件供应链的安全。相信本书将为读者揭开当前开源体系运转的机理,同时为广大从业者提供开源治理的理论和实践参考。
作者介绍
博士,中国科学院软件研究所副所长、总工程师、研究员、博士生导师, 担任openEuler常务委员会委员、OpenHarmony项目群TSC委员、开放原子基金会开源安全委员会主席,主持开发了“源图”开源软件供应链基础设施.主要研究领域为操作系统和系统安全。
中国科学院软件研究所工程师,主要研究方向为开源软件供应链风险管理、数据治理、数字签名。
博士,中国科学院软件研究所研究员,博士生导师,主要研究方向为开源软件供应链安全、系统安全、漏洞挖掘、操作系统。
中国科学院软件研究所高级工程师,主要研究方向为开源操作系统、开源生态建设。
博士,中国科学院软件研究所所长、研究员,博士生导师,主要研究领域为编译技术、操作系统、网络软件。
点击“阅读原文”,加入CCF。