基于彭博社、康卡斯特和保时捷的开源办公室成熟度模型特征
2022年2月
Chris Aniszczyk, Linux 基金会 CTO,TODO Group联合创始人
前 言:Linux 基金会执行董事 Jim Zemlin
目录
前言
虽然开源软件 (Open Source Software, OSS)随着开发人员自下而上的快速采用而有机地出现,但随着时间的推移,使用开源软件的企业意识到他们需要创建治理结构和"护城河",以确保合规地使用这种新兴的范式转换技术。开源软件在加速技术创新方面如此强大、对开发人员和"解决问题"的工程师如此有吸引力的元素——透明、快速迭代、协作创新——是法律团队经常关注的特征,也与传统技术开发战略背道而驰。
人们很快就清楚地认识到,开源不仅是一个可行的选择,而且是技术创新的关键途径。企业意识到他们需要适应这种新的创新方式,否则就有落后的风险。在这种背景下,最初的组织工作重点是确保开发人员遵守开源许可证并维护一份可用的开源软件清单。在技术性组织中,开源估值是企业文化不可分割的一部分,并且经常嵌入到产品中;话题通常远远超出许可证合规性,而是探索这些公司如何利用开源社区来加速和改进产品开发,同时保持商业优势。从这两个维度上看,开源办公室 (OSPO) 的种子已经萌发、成长为促进合规地使用开源软件的正规程序。随着时间的推移,在新成立的OSPO的大力支持下,我们见证了更多的开源项目的采用、贡献和社区范围内的参与。
TODO小组的存在是为了促进开源软件使用和社区建设方面的最佳实践。这越来越意味着授权企业和组织创建有效的 OSPO 计划。我们发布了许多广受好评的关于如何构建 OSPO计划的指南和工具包。本报告旨在提供一个更广泛的框架,以了解 OSPO 的原型以及我们在与数千家企业和组织合作时所看到的成熟阶段,因为他们已经完成了开源之旅。我们还想捕捉一些真实的 "用户旅程" ,用真实的人的真实声音讲述他们的真实体验。我们希望他们的见解能让现有和潜在的 OSPO 领导者了解促进开源的细微差别。这项工作为这些旅程提供了指导和路线图,因为 OSPO 的概念和结构随着开源运动而不断发展。
Jim Zemlin
Linux 基金会执行董事
OSPO 的采用率在科技行业中仍然最高,但在公共部门和教育机构正强劲增长 | 那些认为OSPO对工程或产品团队的成功非常或极其关键的人在去年从54%上升到63% | OSPO 的专业化仍在继续,58% 的 OSPO 正在正式组建,高于此前的 54% |
51% 的人表示,本财年他们的开源计划很有可能或有可能增加资金 | 77% 的受访者表示他们的开源项目对其公司的软件实践产生了积极影响 | 63%计划创建OSPO的受访者预计将在一年内启动该流程 |
35% 的 OSPO 位于软件工程和开发部门,另外 18% 位于 CTO 办公室内 | 已建立的OSPO突显了在改进代码质量和利用CI/CD管道方面的示例 | 组织从 OSPO 中受益的主要领域是对“开源使用和商业依赖”和“增加创新”有了更多认识 |
总结
在我们对开源实践的第四次 TODO小组 调查中,我们发现 OSPO 正朝着拥有更多专用资金和资源的更专业的组织发展。这种演变符合大小组织中开源软件和开发实践持续增长和接受的持续主题。为了更深入地了解 OSPO 的演变,我们采访了著名 OSPO 项目的领导者,包括一些最具影响力的技术公司,如红帽、微软和 VMware,以及一些最具标志性的汽车品牌和最大的媒体和娱乐公司之一。我们询问了他们的计划是如何开始的以及它们是如何演变的。基于这些访谈和调查数据,我们制定了一个五阶段的 OSPO 成熟度模型,从 (1) 临时使用开源软件到 (2) 解决合规性和许可问题到 (3) 鼓励参与到 (4) 贡献代码,以及最后,到 (5) 孵化开源有意义的项目。在本报告中,我们详细介绍了每个阶段,并开发了一些 OSPO 组织的原型。作为该过程的一部分,我们对三个不同行业(媒体、金融服务和汽车)中三个 OSPO 的演变进行了三个案例研究,每个案例都构建为 OSPO 各个阶段的旅程。在 OSPO 运动二十多年后,OSPO 的作用已发展成为专业知识的核心来源,并在全球具有前瞻性思维的公司制定和实施技术战略方面发出强有力的声音。
介绍
OSPO 的兴起大致反映了开源软件在当今世界组织内构建和运行最重要的技术应用程序的扩张。精心设计的 OSPO是组织开源运营和结构的能力中心。它的角色可以包括设置代码使用、分发、选择、审计和其他政策,以及培训开发人员、确保法律合规以及促进和建立有利于组织战略的社区参与。 OSPO 的概念大约有 20 年的历史,但在过去十年左右才真正开始加速。大多数著名的技术基础设施公司(例如亚马逊、VMware、思科)和消费技术公司(例如Apple、Google、Facebook 和 Twitter)都有 OSPO 或正式的开源规划。所有人都在鼓励他们的员工为对其业务和安全具有战略意义的开源项目做出贡献。
OSPO 在早期最初专注于许可证合规性,如今在组织内部经常发挥更广泛的作用。 OSPO通过促进最佳开源软件实践和参与开源软件社区来提高开发人员的效率,从而对开发人员和其他员工进行有关开源软件的教育。随着时间的推移,OSPO 已经从参与现有开源项目发展为在更广大的社区内创建和启动项目。高层管理人员更有可能承认开源技术在加速创新和在多个受益者之间分摊软件开发成本方面发挥的关键作用。 OSPO的任务在关键方面取得了进展,包括:
-
创建内部框架和工具以有效和高效地使用开源项目代码
-
就组织应如何指导员工参与开源以及支持哪些项目提供战略和战术指导
-
评估开源项目,并就将项目纳入组织的长期技术计划的风险和回报提供战略指导,重点关注开发人员的经验和效率
随着这种趋势的发展,人们更加依赖开源软件并开发测量指标来衡量 OSPO对组织的影响、每个组织对开源项目的影响,以及由 OSPO 及其上级组织创建和维护的项目的总体健康状况。 OSPO 的形成类似于组织首次开始建立 CISO 作为对安全事件的反应。建立这些安全能力中心的组织保护并武装自己,以创造更美好的未来。而那些没有经历、安全实践不佳的组织遭受了财务上的影响。
简而言之,随着时间的推移,OSPO 所关注的内容已经与他们的新角色相匹配。本报告的目的有两个:介绍最新的年度 OSPO 调查的主要发现,并通过与领先的从业者和专家的访谈为这些结果提供参考。我们在由 Linux 基金会主办的组织 TODO小组 的主持下进行了调查和采访。 TODO 是一个开放的组织团体,他们在实践、工具和其他方式上进行协作,以执行成功和有效的开源项目和计划。
调查方法和受访者构成
从 2021 年 6 月 10 日到 6 月 29 日,TODO 小组与 Linux Foundation Research 和 New Stack 合作进行了这项调查,以更好地了解 OSPO 的形成、运作和演变。这是 TODO小组连续第四年进行这项调查。我们通过社交媒体和直接电子邮件向 Linux 基金会、TODO小组和New Stack订阅者列表征集受访者。最终数据集包括来自 1,141 名调查参与者的回复。我们从至少有两名员工的 932 个组织中得出结论。受访者的构成与往年略有不同,更多人将自己描述为"个体经营者"或"不工作"。在 2021 年的调查中,与往年相比,为科技公司工作的受访者减少了。受访者来自各行各业,包括教育、电信、媒体、金融服务、政府、交通和汽车、医疗保健和零售。按行业划分的受访者百分比增幅最大的是政府、教育和零售业。
图1 OSPO普及率:各行业于2018-2021年
资料来源: 2021年OSPO调查
图内文字翻译 |
---|
技术(软件或 IT) |
其他 |
教育 |
电信、通信或媒体 |
金融服务 |
政府 |
交通和汽车 |
卫生保健 |
零售 |
制造和原材料 |
国防 |
公用设施 |
保险 |
主要调查发现
随着 OSPO 调查的受访者数量在 2021 年显着增加,调查受访者的构成发生了变化,以反映整体经济,而不仅仅是技术(尽管回复仍然以技术为主)。与 2019 年相比,对 OSPO 角色、优先级和价值观的看法出现了一些趋势。尽管所有组织规模的组织中,拥有 OSPO 计划的组织的响应百分比都有所下降,但在大型组织中下降幅度最小。这种下降可能反映了调查构成的变化:它包括教育和政府等行业,这些行业的开源项目还处于起步阶段。这种下降也可能与 COVID-19 带来的经济和人员配置挑战有关。
即便如此,OSPO 运动仍有发展空间。显然,OSPO 倡导者必须更有效地传达专门创建 OSPO 和使用开源软件以及更广泛地为开源社区做出贡献的价值。调查显示,组织使用的开源软件多于他们对开源项目的贡献,而做出回应的组织并不完全了解 OSPO:
-
19% 的受访者表示他们从未听说过 OSPO。
-
28% 的受访者表示他们认为 OSPO 没有商业价值。
-
35% 的没有 OSPO 的组织表示他们没有考虑开设 OSPO。
该调查还揭示了充满希望的信号。与去年相比,受访者认为,由于宏观经济状况,本财年为其公司的开源计划提供的资金将增加的可能性是去年的两倍。为此,51% 的人表示很有可能或可能增加资金。调查数据显示,从 54% 增加到 63% 的受访者表示 OSPO 对其工程或产品团队的成功非常或极其重要 。 OSPO 也通过正式的组织架构变得更加专业。 2021 年的调查发现,58% 的 OSPO 是正式的,高于 2020 年的 54%。在调查的开放式部分中,受访者强调了 OSPO 的许多有价值的好处,例如提高代码质量、更好地利用开源软件工具(如持续集成) /持续交付 (CI/CD) ,以及外部协作(开源)和内部协作(内部开源)之间的积极联系。
OSPO 的主要职责发生了一些变化。维持开源许可证合规审查和监督的调查参与者从 68% 下降到 59%,认为这是一项主要责任。对于大型非科技公司,合规仍然是最常被提及的主要责任,占 86%。将与开发者社区互动作为主要责任的比例从 48% 上升到 56%。在与生态系统参与和宣传相关的几个积极指标中,对开发人员关系和参与的重视将内部开源项目的外部贡献从 38% 增加到 47%。
五阶段 OSPO 成熟度模型
随着 OSPO 的激增并变得越来越普遍,OSPS已经成熟。通过将与 OSPO 领导者和专家的对话反映到 OSPO 调查结果,我们开发了一个 OSPO 成熟度模型来描述 OSPO 的典型演变。该模型是通用的:组织的规模和类型会影响 OSPO 的成熟度。在较大的组织中,多个业务部门可能会开发不同的开源方法,每个方法都有不同的技术文化;而纯数字技术公司更有可能更早地使用开源软件并为之做出贡献,并且更容易接触到开源技术和概念。
考虑一下企业基础架构软件提供商 VMware。它的工程师与网络、云和其他关键领域的许多开源社区合作并为之做出贡献,仅仅是因为他们知道,使用开源进行构建可以为社区和 VMware 的客户带来更好的结果和更高的互操作性。相比之下,红帽是第一家上市的开源公司。它在开源软件上建立了整个业务实践,压缩了成熟度生命周期,实际上,使整个公司成为了一个 OSPO。如今,红帽将更多资源用于早期生命周期活动,例如教育内部利益相关者(例如,销售团队、营销人员、新工程员工)和促进上游社区的协作。对于我们研究中的大多数其他公司,成熟度模型的一般阶段在消费、贡献、协作和参与以及领导力方面密切地映射了组织的开源软件轨迹。我们访谈的一些组织还设定参与和使用开源项目的指标。
这些指标可能包括开源软件项目中的工程参与率(拉取请求、评论、提交)、开源活动的出席和参与、撰写的博客文章、发表的演讲以及利用业余时间参与开源项目等等。更高级的开源组织可能有关于项目成功增长的指标,这些项目由他们自己的工程团队发起或部分创建。一些领先的组织,例如 康卡斯特、VMware 和 Red Hat,已经构建或正在构建高级度量和测量工具。
也就是说,即使是这些设置精准跟踪指标的组织也不会明确使用指标来跟踪或设置开源软件目标。以微软为例,该组织曾经几乎完全专注于专有软件,但现在已成为开源项目的主要支持者,并在其自己的产品中广泛使用开源软件。 "我们专注于让我们的开发人员更容易使用 [开源软件],我们鼓励他们回馈他们所依赖的项目。我们跟踪整体参与情况,但OSPS确实在个人或团队层面设定了目标," 微软 OSPO 前负责人 Stormy Peters 说。 "我们的开发人员可以自愿将他们的公司 ID 与他们的 GitHub 登录名关联起来,这使我们能够衡量公司层面的参与度。"1大多数情况下,指标的系统收集和分析发生在采用的后期阶段,此时开源软件成为企业和大型组织的技术路线图和战略的关键要素,同时伴随着 OSPO 计划、预算、和工作人员。
图2 OSPO 的四个阶段
来源:TODO 小组
高 | 领导 成为战略决策伙伴 | 第 4 阶段 | ||
积极参与 主办 OSS 项目与发展社区 | 第 3 阶段 | |||
执行能力 | 社区教育 宣传 OSS 使用和生态系统参与 | 第 2 阶段 | ||
法律教育 提供 OSS 合规性、清单、开发人员教育 | 第 1 阶段 | |||
低 | 采用 临时采用OS | 第 0 阶段 | ||
无 | 低 | OSPO 水平 | 高 |
阶段 0:临时使用开源软件
今天,几乎所有的组织都使用开源软件。他们采用和最初使用它的方式各不相同。他们可能将开源软件用作产品或工具中的构建模块或库,或供应商产品堆栈的关键部分或支持供应商的服务产品。开发人员可以将开源软件用于快速原型设计或微服务和小型应用程序。开发人员还经常采用开源软件开发工具,例如集成开发环境 (IDE),或构建在开源之上的工具,例如 GitHub 和 GitLab。现代云原生应用程序几乎默认使用开源系统进行容器编排、可观察性、数据存储、消息传递等。在应用程序的前端,开发人员严重依赖开源库和框架。 Red Hat 报告称," 90% 的 IT 领导者都在使用企业开源。 " Synopsys 等软件组成分析供应商确定超过 75% 的代码库包含开源组件。2
换句话说,几乎每个组织都在使用开源软件。然而,最早的采用形式是临时的,开发人员使用现成的工具和技术解决问题。这种"临时采用"通常意味着很少考虑默认情况下的许可合规性或使用开源和分发使用开源组件构建的产品的长期影响。在大多数情况下,一些工程师正在积极寻找开源,而工程组织的其他成员可能会巧合地使用开源,但并不认为其活动依赖于开源。因此,组织既没有专注于开源的集中团队,也没有顶级开源战略。这些至关重要,因为一旦采用这些开源组件,默认情况下,这些组件就会成为组织软件供应链的一部分,这使得战略方法变得更加必要。
阶段1:提供开源软件合规性、清单和开发人员教育
一般来说,当一个组织意识到几乎所有来自工程、开发部门和职能部门的人员都在使用开源产品和代码时,就会形成一个 OSPO。这种使用通常是内部的,而不是客户或用户的产品或服务的一部分。实际上,任何拥有大量 IT 功能和先进的在线或以应用程序为中心的组织都使用开源,因为开源在整个技术堆栈中无处不在--从 Linux 服务器和 MySQL 数据库到 Node.js 和 Python 等编程语言以及 React 和 Vue.js 等前端框架。
在这个早期阶段,组织经常为 OSPO 使用许多不同的名称。例如, IBM 最初将其程序化开源工作称为"开源指导委员会" 。然而,在所有情况下,处于阶段1的 组织都认识到开源软件是其业务和技术战略的关键部分。他们了解开源软件项目的安全实践与专有软件公司的不同。例如,开源软件项目的披露规则往往比专有项目的披露规则更严格。因此,他们必须识别其法律和安全风险。风险缓解策略包括谨慎的许可、开发人员教育和严格的盘点。
管理法律风险和许可
组织的法律团队或技术领导者倾向于推进OSPO 的阶段1开发,以确保其员工(以及承包商、供应商等)都根据其许可条款使用开源软件,并且使用 开源软件不会使其面临法律风险。可以使用的开源软件许可证有几十个。在 2020 年的调查中,受访者将合规列为大公司 OSPO 的最大优势,而合规仍然是中型公司的第二大优势。 "公司一开始通常会很困惑。没有针对许可证合规性的政策,开发人员会做他们认为正确的事情," 弗里德里希-亚历山大大学埃尔兰根-纽伦堡开源软件教授 Dirk Riehle 说:
我曾经走进一家公司,一位开发者说:我们没有开源政策。另一个打趣道:我们有,而且是:没有开源。第三个皱着眉头评论道:"你在说什么?一段时间以来,我们一直在为开源项目做出贡献。" 这并不罕见。他们最终将建立一个开源办公室,负责处理开源的使用和贡献。3
虽然开源软件用户一直考虑合法合规,但一些开源软件贡献者设计了新的许可证,以阻止大型云服务商创建基于开源项目的专有服务。其中最突出的是Affero通用公共许可证 ( AGPL)。公司可能会使用根据本许可条款发布的开源软件向其客户提供专有软件即服务 (SaaS),但如果 AGPL 条款确实违反了许可,则开源软件的作者可能有理由起诉该公司没有明确区分内部和外部交付。许多企业的部门间也有内部财务收费系统,进一步模糊了付费服务和内部服务之间的界限。
教育开发者
为了保持合规性,处于 OSPO 成熟阶段 1 的组织创建了教育计划,以帮助其开发人员决定何时使用开源软件来创建新产品或服务。 "许多没有接受过开源教育的开发人员认为,因为他们没有购买软件,所以没有涉及许可,因为他们没有签署合同," VMware 开源营销和战略总监Suzanne Ambiel说。 "开源软件可能是免费的——就像无价之宝一样——如果以不合规的方式使用,它也可能代价高昂。 开源软件总是带有许可证。任何 OSPO 最重要的角色之一是确保开发人员了解不同许可选择的含义。"4
通过开发人员教育,高级管理人员通常认可开源软件的价值和重要性。在此类程序中,开发人员学习:
-
不同许可证类型的细微差别
-
引入新的开源软件产品的正式批准流程
-
不合规地消费开源软件的真正风险,包括在没有正式许可的情况下使用项目中的产品或代码
-
使用贡献者许可协议 (CLA) 来涵盖组织为开源做出贡献的开发人员
有时组织会在此阶段引入正式的 CLA 政策。它还可以为判断开源软件项目的健康状况提供指导,作为其决定在组织的技术堆栈或基础设施中使用哪个开源软件的标准的一部分。