2023年中国企业开源治理全景观察 第一部分 概述 概述 2020年,中国信息通信研究院制定标准《开源软件治理能力评价方法第3部分:成熟度模型》,确立了企业开源软件治理能力框架,规定了开源用户企业在使用开源软件时应遵循的流程及规范,以及企业开源软件治理能力成熟度的评价方法,有效帮助了众多企业构建和提升开源软件治理能力。 为了解中国企业的开源风险治理举措和治理水平,中国信息通信研究院依托金融行业开源技术应用社区(FINOC)、通信行业开源社区(ICTOSC)、汽车行业开源社区等组织,通过问卷调查的形式针对七大行业的105家企业开展了开源软件治理能力成熟度调研,以明晰开源治理的行业现状以及未来的蓄力方向。 调研参与者 《2023年中国企业开源治理全景观察》共研究了来自不同行业的105家企业的开源软件治理能力数据,包括金融行业、通信行业、汽车行业、能源行业、软件和信息服务业、互联网行业和制造行业不同规模的企业。 金融行业通信行业 汽车行业能源行业 软件和信息服务业互联网行业制造行业 1-100人100-500人 500-5000人5000人以上 100-10001000-10000 1万-10万10万以上 运维和技术风险管理风险 安全风险合规和知识产权风险 9% 14% 28% 20% 15% 4% 10% 35% 40% 10% 15% 12% 18% 47% 23% 10% 40% 35% 15% 图1调研参与企业所处行业图2调研参与企业规模图3调研参与企业开源软件使用数量级图4调研参与企业关注的开源风险 开源治理全景观察框架 《2023中国企业开源治理全景观察整体》调研框架由开源软件治理的7个过程环节和3个能力要素组成,包括:组织机构、管理制度、风险管理、软件测评、开发测试、运维管理、持续跟踪、退出管理、存量软件管理、第三方软件管理等领域的40余项活动。 开源治理活动级别代表了参与企业各项能力水平,具有【基础执行能力】被指定为“基础级-第1级”,具有【统一组织规划能力】被指定为“增强级-第2级”, 具备【自动化的执行能力】被指定为“先进级-第3级”。 图5OSGMM模型 术语 术语表 开源 开放一类技术或一种产品的源代码,源数据,源资产,可以是各行业的技术或产品,其范畴涵盖文化、产业、法律、技术等多个社会维度。 开源软件 源代码免费向公众开放,任何团体或个人都可以在其许可证的规定下对其进行使用、复制、传播及修改,并可以将该修改形成的软件的衍生版本再发布。开放软件受适用版权法的保护,使用时应遵循其许可证的各项条件。 开源许可证 开源软件的版权持有人通过该类许可证,授予用户可以学习、使用、修改开源软件,并向任何人或为任何目的分发开源软件的权利。 系统软件 能够对硬件资源进行调度和管理、为应用软件提供运行支撑的软件。 存量管理 对企业开展开源治理工作前已引入企业内部的开源软件进行管理。 第三方软件管理 通过管理措施确保第三方软件供应商遵循企业的开源代码安全合规要求。 第二部分 洞察 2023中国企业开源治理活动TOP10 下表列出了2023中国企业开源治理全景观察数据池中观察到次数最多的10项活动,以下活动皆常见于非常成功的开源治理实践中。数据表明,如果组织正在制定自己的开源治理计划,应考虑采取这些活动。 2023中国企业开源治理活动TOP10 活动出现频率 活动描述 91% 在面临安全问题时及时评估,并有规划进行软件退出操作。 88% 通过合同义务确保软件供应商遵循企业的开源软件治理要求 88% 在引入开源软件后,对开源漏洞信息进行持续跟踪 87% 通过版本升级处理开源组件安全漏洞 85% 登记内部所有存量软件 82% 定期开展(一年2次及以上)开源相关培训 82% 制定企业级/部门级新技术及开源软件管理相关制度和流程 79% 建设开源管理平台,辅助管理和统计开源软件信息情况及风险信息处置情况 77% 针对系统软件需求编制安装部署规范、使用操作手册等相关配套文档 75% 在引入开源软件时,进行软件功能评估以及同类软件对比工作 组织机制 Q:是否有明确的开源软件治理规划(治理目标、年度计划等)? 洞察:部分企业对于开源软件治理战略重要性认识不足,开源治理缺乏客观性和系统性,重度依赖过往经验,仅由事件触发治理机制。 超60%的被调研企业不具备明确的开源软件治理规划(治理目标、年度计划等)。 管理制度 Q:贵公司是否具备企业级开源软件管理制度? 洞察:部分企业开源软件管理主要依靠相关人员过往经验,针对重要开源软件能够形成配套管理制度,但未制定企业级的开源软件流程制度规 范,未提出对开源软件全生命周期中的风险管理要求。 超40%的被调研企业不具备企业级开源软件管理制度。 风险管理 Q:企业内处理开源组件安全漏洞的方式有哪些?(多选) 洞察:根据安全漏洞风险等级的不同,企业处理开源组件安全漏洞的方式也有所不同;依靠内部力量处理开源组件安全漏洞所需投入资源较多,对运维人 员能力要求较高,通常并非企业首选。 约87%的被调研企业通过版本升级处理开源组件安全漏洞;72%的被调研企业通过手动应用补丁应对安全漏洞;77%的被调研企业替换组件或者删除该组件,约10%的企业不做处理。 软件测评 Q:在引入开源软件时,会进行哪些评测工作?(多选) 洞察:大部分企业在引入开源软件时进行了软件功能评估、同类软件对比、项目活跃度评估以及行业认可度和软件质量评估,但在服务支持评估方面仍有改进空间。 75%的被调研企业在引入开源软件时,进行软件功能评估以及同类软件对比工作;63%的企业进行项目活跃度评估;60%的企业进行行业认可度评估及软件质量评估;约36%的企业会进行服务支持评估;2%的企业不进行任何评估。 开发测试 Q:与外部开源社区的交互状态是? 洞察:当前我国大部分企业对于开源软件还仅停留在使用层面,未进行对外开源贡献,这与开源软件在我国发展较晚,我国企业对于开源共建共享的意识 不足等因素有关。 约66%的被调研企业仅使用外部开源社区项目,关注开源社区动态;34%的被调研企业还会参与外部开源社区贡献和建设,与外部开源社区建立起良好的沟通反馈机制。 运维管理 Q:开源软件确定对应负责管理部门的原则是? 洞察:企业属性和内部职责划分的不同,导致企业开源软件维护主体相关规则差异较大。 25%的被调研企业秉持谁先引入谁负责的原则;25%的被调研企业按部门职责进行划分;28%的企业谁使用谁负责;22%的企业由技术委 员会评估确定。 持续跟踪 Q:在引入开源软件后,会对哪些信息进行持续跟踪?(多选) 洞察:开源软件安全漏洞问题所带来的负面影响更为直接,我国大部分企业明显更重视开源软件安全,并对开源漏洞信息和版本进行持续跟踪。 约88%的被调研企业在引入开源软件后,对开源漏洞信息进行持续跟踪;58%的企业会进行开源许可证跟踪;60%的企业进行版本跟踪; 41%的企业进行社区基本情况的跟踪;6%的企业不跟踪。 退出管理 Q:决定不再使用某种开源软件,对于软件退出的依据是?(多选) 洞察:我国企业对于开源软件安全风险和合规风险问题已有较高程度认知。 91%的被调研企业在面临严重安全问题时进行软件退出操作;70%的被调研企业在面临法律合规红线时,进行软件的退出管理;64%的企业 当开源软件不满足业务场景时会进行退出规划;50%的企业因开源软件更新频次过低或版本过老而进行退出规划。 存量管理 Q:针对内部所有存量开源软件的管理措施是? 洞察:我国企业开源治理工作开展较晚,存量开源软件量级较大,因此对于存量软件的全量、周期性管理存在一定困难。 超过70%的企业仅在新增的安全事件、生态变化等外部因素触发时针对存量开源软件进行非周期检查;约20%的企业对存量开源软件的安全合规性与依赖情况进行周期性分析检查;10%的企业不针对存量开源软件进行检查。 第三方管理 Q:如何确保软件供应商遵循企业的开源软件治理要求?(多选) 洞察:我国企业对于第三方软件管理的重视程度存在不足,同时缺乏开源合规相关专业人员,难以规范审查第三方软件中专有代码、开源代码的交互方式是否合规。 超过80%的企业通过合同义务来规范软件供应商,以确保其遵循企业的开源软件治理要求;40%的企业通过交付时检查组件清单/分发说明确保供应商遵守要求;27%的企业要求供应商提供第三方检测报告。 垂直行业比较 开源治理成熟度高水位线图提供了基线,用于比较企业对各项治理指标的关注度(主要指企业期望达到的能力水平)。成熟度级别代表了调研参与企业各项能力的关注度水平,具有基础执行能力被指定为“第1级”,具有统一组织规划的执行能力被指定为“第2级”,具备自动化的执行能力被指定为“第3级”。 水位线通常表示成熟度,如3级的水位线高,2级的水位线较低。如上图所示,所有参与本次调研的企业,在“管理制度”、“存量软件管理”、“开发测试”、“软件测评”等指标下的能力较之于其他项下的能力稍强一些。 第三方软件管理 组织机制 3.0 2.5 管理制度 所有企业 存量软件管理 退出管理 2.0 1.5 1.0 0.5 0 风险管理 软件测评 持续跟踪 运维管理 开发测试 图6所有参与企业各项开源治理能力关注度情况 根据调研结果显示,金融和通信行业在开源软件治理方面存在不同的侧重点和成熟度水平。由于各自不同的特性和需求,它们在开源软件治理的侧重点和成熟度方面存在差异。 通信行业强调供应链管理和第三方软件管理。 金融行业则受到监管指引和法规要求的推动,更注重 风险管理,确保安全合规。 通信行业 通信行业通常更关注完善的供应链管理措施。通信行业中涉及到硬件设备和网络基础设施的“软硬协同”,供应链相对复杂,促使通信企业在开源软件治理中更加重视第三方软件管理。这使得通信行业在第三方软件的评估、审查和合规方面表现出更高的成熟度。 第三方软件管理 组织机制 3.0 2.5 管理制度 金融行业通信行业 存量软件管理 退出管理 2.0 1.5 1.0 0.5 0 风险管理 软件测评 持续跟踪 运维管理 开发测试 图7金融和通信行业参与企业各项开源治理能力关注度情况 过程维度 能力维度 基础级增强级先进级 金融行业 监管指引和法规要求 金融行业受到监管机构的严格监管和法规要求。例如,人民银行发布的《关于规范金融业开源技术应用与发展的意见》为金融企业提供了具体的指导和规范,推动金融业开展开源治理活动。这使得金融行业在风险管理、软件测评和退出管理等方面投入更多关注度。 安全性要求和数据保护 金融行业对安全性和数据保护通常具有更高的要求。金融业务涉及敏感客户数据和金融交易信息,故对于开源软件的安全性和合规性关注度更高。基于此,金融行业在开源软件治理中可能更加注重安全漏洞管理、漏洞修复和持续监测。 平均值中位数企业数值 图8金融行业部分企业开源治理能力关注度情况(圆圈大小代 表企业规模) 汽车、能源和传统制造行业是三类存在上下游产业供应关系的行业,但在开源软件治理方面侧重点各异,这可以部分归因于它们各自不同的特性和需求,以及与供应链、软件开发和行业规范等相关因素的关系。 汽车行业在管理制度和开发测试方面关注度更高。 能源行业在第三方软件管理和运维管理方面投入更多。 制造行业的开源软件治理能力关注度整体较低。 能源行业 第三方软件管理和运维管理:能源行业与第三方软件的关系密切,因此在第三方软件管理和运维管理方面表现出较高关注度。能源行业通常涉及复杂的系统和设备,并依赖于多个供应商和合作伙伴提供软件解决方案。因此,为确保系统的稳定性和安全性,对第三方软件的管理和运维是关键。 第三方软件管理 组织机制 3.0 2.5 2.0 1.5 管理制度 汽车行业能源行业 传统制造行