1摘要
本报告概述并评估了在各种组织环境中管理和降低与开源软件(OSS)相关的风险的有效策略。它提供了来自各种来源(包括国家政府、行业标准、现有实践和正式标准机构)的指南的详细概述。该报告最后提出了一组推荐的最佳实践,用于有效管理OSS和降低供应链风险。本报告中推荐的最佳实践已被选为最适合任何规模和行业的组织。
研究方法包括广泛的文献综述和从行业从业者访谈中收集的见解。这种双重方法可以全面分析OSS管理中的当前实践、挑战和机遇,确保考虑各种观点。
该研究提出了OSS最佳实践的广泛且不断发展的观点,并得到了社区的大量贡献的支持。然而,它凸显了特定于行业的最佳实践和适用于不同规模组织的最佳实践方面的显著差距。由于OSS最佳实践的广泛和不断发展的观点,我们的研究发现OSS采用、管理和社区参与的方法存在差异和差异。大型科技公司在制定标准和最佳实践方面也发挥着关键作用,对生态系统产生了重大影响。
根据我们对现有指南和最佳实践的分析,本文提出了四种最佳实践,这些最佳实践构成了相称且合理的OSS风险管理方法,这些方法也适用于任何规模的组织。报告建议应鼓励组织执行以下作:
•建立内部OSS策略来管理OSS组件的采用。
•创建软件物料清单(SBOM)以跟踪OSS组件及其依赖关系。
•使用软件组件分析(SCA)工具持续监控组织的软件供应链,以识别漏洞和许可问题。
•促进与OSS社区的积极参与以吸引新人才,
创造公平的竞争环境,促进创新,提高声誉,并确保高质量的OSS组件和可持续的OSS生态系统。
强烈建议采用工具来自动化OSS管理流程,以减轻时间和资源限制,特别是对于较小的组织。工具是一种低成本或免费的替代方案,可以手动遵循本报告中概述的最佳实践。在软件开发中使用开源软件组件时,建议采取这些措施来提高OSS组件的可信度和成熟度,并有效管理相关风险。
此外,本报告建议未来的研究和政策应侧重于制定适合规模的最佳实践指南,鼓励组织回馈开源软件社区,探索是否需要行业特定的指南来管理开源软件组件,评估社区参与对开源软件质量和安全性的影响,并制定标准化指标来评估开源软件组件的成熟度和可信度。这些努力将进一步增强组织管理OSS风险的能力,并有效利用OSS带来的机会。
2介绍
随着开源软件(OSS)的日益普及,人们越来越依赖开源软件作为生产力和创新的基石。随着这种增长,考虑和解决与OSS采用相关的风险的需求也在增加。从有关采用和管理OSS的战略组织选择到涉及许可、工具和社区参与的日常技术考虑。
OSS的使用一直处于持续的上升轨道上,每年的采用率都超过去年。2023年,OpenLogic报告称,与2022年报告的数据相比,OSS的采用率增加了80%(OpenLogic,2023年)。随着OSS的采用和管理的增加,现在比以往任何时候都更需要了解与OSS相关的采用、管理、许可和工具背后的最佳实践。
本报告由科学、创新和技术部(DSIT)委托编写,旨在分析使用OSS和管理OSS风险的行业实践态势。特别关注为企业对企业(B2B)销售开发软件产品和服务的组织,以及为内部流程或提供服务/产品开发软件的B2B服务/产品的组织。它旨在识别、评估和推荐组织可以实施的最佳实践,以确保稳健且安全的OSS管理策略。最佳实践侧重于OSS的采用、管理和社区方面,以及使用OSS的组织环境。
利用这些最佳实践,组织可以防范许可和知识产权(IP)风险,只允许可信和成熟的依赖项进入其软件供应链,并清晰地描绘自己的OSS供应链。
本报告从文献综述开始,研究了学术论文、最佳实践、案例研究、行业标准,并对领域专家进行了一系列访谈。文献综述中的每条“知识”都被评估了其在OSS管理的四个子类别(采用、管理、社区和背景)中的全面性。
在这里,我们介绍了我们的研究结果,这些结果分为两部分。第一部分映射并评估了有关OSS采用、管理和社区的现有指南。第二部分以文献综述的结果为基础,列出了我们建议组织采用的最佳实践。我们的最佳实践列表旨在既强大又灵活,使组织能够根据其特定需求和背景定制其OSS管理策略。
3方法论
本节概述了为整理和审查与开源软件(OSS)管理相关的现有指南和最佳实践而采用的方法。
该方法包括全面的文献综述、与行业专家的访谈、案例研究分析以及对正式标准的检查,以确保对OSS实践有强大而广泛的理解。
3.1学术论文
3.1.1数据库选择
学术论文选择的数据库包括IEEE Xplore、ACM数字图书馆、ScienceDirect、JSTOR、Google Scholar和ProQuest,以确保全面的学科覆盖。
3.1.2搜索词
使用“开源软件”、“OSS最佳实践”、“OSS案例研究”、“OSS行业标准”、“OSS开发”和“OSS项目管理”等关键词进行了战略搜索。使用布尔运算符来细化检索,例如,“open source software” AND “best practices” OR “case studies”。
3.1.3纳入和排除标准
学术论文的选择基于以下标准:
出版日期重点放在过去五年内发表的文献上,以确保包含最新的发展和见解。相关性仅选择与关键OSS主题相关的材料,例如开源采用、开源管理和开源社区参与。
研究质量优先选择具有重要发现或数据的详细研究,根据其研究质量和对OSS知识体系的贡献进行评估。
多种观点寻求来自世界各地的广泛观点,以确保对该主题有多样化和全面的理解。
3.2最佳实践
3.1.1源选择
行业出版物和白皮书来自知名OSS组织和科技公司的资料受到关注。示例包括Linux Foundation、Apache Software Foundation和GitHub的OSS报告。在线博客来自领先技术公司和OSS社区的博客被审查。
政策报告探讨了来自政府机构和国际组织(如英国、欧盟、联合国和美国国防部)的报告。
3.1.2搜索词
使用“OSS采用最佳实践”、“OSS管理策略”、“OSS社区参与”和“OSS许可”等关键字来查找相关材料。
3.1.3纳入和排除标准
最佳实践根据以下标准进行评判:
选择了采用最佳实践,这些实践展示了采用OSS的全面方法,包括工具、策略和风险管理。
管理重点是最佳实践,这些实践展示了管理OSS项目的广泛且经过深思熟虑的策略,包括依赖项管理、安全性和持续监控。
许可和合规性包括最佳实践,这些最佳实践为许可和合规性问题提供了明确的指导,包括如何处理许可风险和确保符合OSS许可证。
社区参与支持提供有关如何与OSS社区互动的建议的最佳实践,包括如何为OSS项目做出贡献和管理社区反馈。
实际相关性专注于在采用和管理OSS的组织中被证明有效的最佳实践。
经证实的成功优先权被给予有记录的成功故事或积极成果的实践。
3.3案例研究
3.1.1源选择
选择了来自领先OSS组织的开源机构案例研究。
技术和商业出版物回顾了来自知名技术和商业出版物的案例研究,例如Wired、TechCrunch和哈佛商业评论.
3.1.2搜索词
使用“OSS案例研究”、“OSS成功案例”、“OSS挑战”和“OSS实施”等关键字来查找相关材料。
3.1.3纳入和排除标准
不同的行业和规模案例研究选自技术、医疗保健和教育等不同领域,包括小型初创公司和大型公司,以确保广泛的OSS应用。
成功和教训汇编了积极的例子和提供警告的例子,以从错误和成功中吸取教训。
国际示例选择来自世界各地的案例研究来观察不同地区如何处理OSS。
最近的研究重点是最新的案例研究(自2019年以来),但也包括对OSS使用产生重大影响的关键旧示例。
直接相关案例研究确保与关键的OSS问题(如开发、管理或社区参与)直接相关。
可作的经验教训为其他使用OSS的人提供明确收获或建议的案例研究受到青睐。
可靠来源验证案例研究出版商的声誉,以确保信息可信。
不同的观点案例研究确保涵盖一系列观点,包括来自OSS项目内部不同角色和外部观点的观点。
3.4行业标准
3.1.1源选择
已建立的组织 由知名团体制定的标准,例如开源倡议(OSI)、国际标准化组织(ISO)、和Internet工程任务组(IETF)。
法律和合规性标准确定了影响OSS的关键法律和合规性准则,包括许可法、安全标准、用于数据保护的通用数据保护条例(GDPR)和可访问性规则。
社区准则考虑了在OSS社区内开发的实践,例如编码约定、治理规则和协作方式。
3.1.2搜索词
使用“OSS标准”、“OSS法律指南”、“OSS安全标准”和“OSS社区指南”等关键字来查找相关材料。
3.1.3纳入和排除标准
根据以下标准选择标准:
范围和细节审查了标准涵盖OSS需求(从创建和共享到许可和维护)的彻底性。
相关性研究了这些标准在开发人员和整个软件行业中的采用程度。
适应性检查了标准是否可以支持不同的组织,无论大小。
涵盖从许可到安全的广泛OSS主题的全面性标准受到青睐。
3.5采访
3.1.1专家的选择
我们与开发人员、项目经理、DevOps开发人员和C级高管进行了交流,以全面了解不同组织内的OSS。我们的总访谈人数为8次。
为了找到来自不同背景和行业的广泛受访者,我们在Sheffield Digital、techlondon和Berlin Techs等以技术为重点的公共论坛上与人们进行了联系。通过LinkedIn使用“开源”、“OSS”和“OSS管理”等关键字确定潜在候选人。联系了写过有关开源的文章或博客文章的人。最后,我们利用自己的个人网络来寻找潜在的受访者。所有受访者都代表他们获得了100英镑的慈善捐款,以激励参与。
3.1.2制备
关键主题我们重点介绍了受访者使用OSS的经验,包括他们采用新OSS、管理OSS项目以及与OSS社区互动的方法。
开放式问题我们提出了开放式问题,以鼓励详细的回答和见解。
同意和记录 我们征得了受访者的同意并进行了录音用于准确数据分析的访谈。
3.1.3面试议程
1简介:会议开始时,研究团队自我介绍并解释了访谈的目的。随后,受访者进行了自我介绍,并描述了他们至今的职业生涯。
2项目管理:讨论涵盖了受访者如何管理OSS依赖项,重点关注采用、集成和维护过程。
3风险管理和安全:对话探讨了受访者处理与OSS相关的安全性和合规性问题的方法。此外,它还深入研究了他们为管理与OSS相关的危机而建立的任何流程。
4许可和工具:受访者被问及他们的OSS许可策略以及他们用来有效管理OSS项目、漏洞和依赖项管理的工具。
5社区参与:采访的这一部分讨论了受访者如何与OSS社区互动,包括他们或他们的组织对OSS项目的贡献,以及他们如何处理来自社区的反馈。
6成功与挑战:受访者分享了他们使用OSS的经验,详细介绍了他们遇到的任何挑战和为克服这些挑战而采用的策略,并强调了他们使用OSS取得的成功。
7结束语:采访结束时,受访者有机会分享关于缺乏共识、成功实施OSS的关键因素以及他们在更广泛行业背景下对组织内OSS未来的愿景的任何最终想法。
3.1.4数据分析
转录记录采访并采用人工智能(AI)进行转录,确保数据分析的准确性。
主题分析
•在访谈中确定了反复出现的主题和模式。
•回复分为OSS管理的三个子类别:采用、管理和社区参与。
•对回答进行了分析,以确定受访者经验和做法的共同点和差异。
全文下载,请阅读原文!
—
原文始发于微信公众号(河南等级保护测评):开源软件最佳实践和供应链风险管理
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论