

近年來,因開源軟件引發的安全事件頻繁發生,引起了學術界和工業界的廣泛關注,并形成了一個新興領域——開源軟件供應鏈。
目前,該領域仍處于快速發展的階段。雖然已有許多研究和實踐成果,但還缺乏體系化梳理的工作,這導致對該領域的理解和參與門檻較高。開源軟件供應鏈涉及多個學科領域,包括管理學、社會學、軟件工程、數據科學等。
為了幫助讀者更好地理解開源軟件供應鏈,中國科學院軟件研究所總工程師武延軍博士領銜創作,多名院士、專家聯名推薦,重磅推出《開源軟件供應鏈》。
本書聚焦于開源軟件供應鏈的前沿成果,提出了一套完整的開源軟件供應鏈治理框架,并以框架中的核心模塊為索引,歸納和整理已有研究成果以及面臨的挑戰,同時輔以實踐方法和具體案例,幫助讀者更好地理解開源軟件供應鏈。




本書可以作為開源軟件供應鏈領域研究人員或工程技術人員的參考用書,也可以作為開源軟件愛好者的入門書籍。
對于研究人員而言,本書提出了一種治理框架,旨在幫助他們更好地理解開源軟件供應鏈領域的研究問題,即框架中各個核心模塊需要應對的挑戰。通過閱讀相關章節,研究人員能夠了解相關問題的研究現狀,明確自己的研究興趣,并發掘潛在的研究問題。這將使他們更容易投身于開源軟件供應鏈領域的研究工作。
對于工程技術人員而言,通過本書能夠了解開源軟件供應鏈存在的問題,并學習如何有效地進行治理。開源軟件供應鏈基礎設施的設計可以作為工程技術人員實施開源軟件供應鏈治理的指導,并為具體實施提供思路。開源軟件供應鏈的可視化呈現技術可以幫助工程人員在實踐中實現更好地交互效果。此外,豐富的實踐案例也可以為工程技術人員提供實踐指導和效果驗證參考。
對于大多數希望參與和貢獻開源軟件但缺乏經驗的在校學生來說,通過閱讀本書,他們可以了解開源軟件供應鏈的形成和運行機制,以及面臨的風險和挑戰。進而也能夠了解到開源生態系統是如何運轉的,為參與開源打下基礎。開源軟件供應鏈安全已經成為全球熱點問題,相關研究問題和工程技術同樣備受關注,本書也可以幫助在校學生了解這一有潛力的發展方向。


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

王懷民,中國科學院院士,中國計算機學會開源發展委員會主任,中國軟件行業協會理事長
從供應鏈視角來梳理洞察海量開源軟件之間的復雜關系,是了解軟件的科研和產業版 圖、建立數字世界全局觀的一種有效方式。本書基于作者在該領域的多年研究和實踐,系統 講解了開源軟件供應鏈的來龍去脈,是一部值得軟件從業人員閱讀的參考書。

包云崗,中國科學院計算技術研究所副所長,北京開源芯片研究院首席科學家
開源是信息技術發展的大勢所趨,是構建人類命運共同體的人心所向。軟件所多年以來 聚焦開源軟件供應鏈開展了大量基礎性、前瞻性的工作,本書匯聚了相關理論研究和實踐經 驗,也系統梳理了國內外在開源軟件供應鏈方向的最新研究成果,既是軟件從業人員的專業 參考書,也會給其他開源領域帶來啟發。

蔣濤,CSDN 創始人&董事長,中國計算機學會開源發展委員會常務委員
現代軟件的代碼大部分來自開源框架和組件,如何選擇和分析這些開源項目,既關系到 安全可靠又關系到性能效率,本書將開源軟件與供應鏈管理相結合,展現了開源軟件供應鏈 管理最佳實踐,是企業和開發者實現效率與安全的必讀之作。

任旭東,華為首席開源聯絡官
開源軟件已成為軟件發展的主流模式,開源軟件供應鏈的治理和維護是全球共同使命。華為公司與軟件所在“開源之夏”活動中開展多年合作,批量培養輸送高質量開源后備人才,共同維護開源軟件供應鏈的安全。相信本書將為讀者揭開當前開源體系運轉的機理,同時為廣大從業者提供開源治理的理論和實踐參考。


博士,中國科學院軟件研究所副所長、總工程師、研究員、博士生導師, 擔任openEuler常務委員會委員、OpenHarmony項目群TSC委員、開放原子基金會開源安全委員會主席,主持開發了“源圖”開源軟件供應鏈基礎設施.主要研究領域為操作系統和系統安全。
中國科學院軟件研究所工程師,主要研究方向為開源軟件供應鏈風險管理、數據治理、數字簽名。
博士,中國科學院軟件研究所研究員,博士生導師,主要研究方向為開源軟件供應鏈安全、系統安全、漏洞挖掘、操作系統。
中國科學院軟件研究所高級工程師,主要研究方向為開源操作系統、開源生態建設。
博士,中國科學院軟件研究所所長、研究員,博士生導師,主要研究領域為編譯技術、操作系統、網絡軟件。
本文來源:原創,圖片來源:原創、AI配圖
責任編輯:鄭琳琳,部門領導:寧姍
發布人:呂重江