从业者指南:展示组织价值
如果您还没有阅读 从业者指南:简介 - 解释指标时要考虑的事项,请现在暂停并阅读该指南。
受众/范围
本指南的受众是组织内的开源团队和开源计划办公室,他们需要证明工作的价值并证明用于开源计划的资源的合理性。
介绍
许多人将为开源项目做贡献作为其工作的一部分。 2023 年开源维护者调查Linux 基金会发现,62.5% 的人全职从事他们的项目,并且 谷歌 Sophia Vargas (2023) 的另一项研究 发现其样本中 30% 的开发者仅在其专业时间做出了贡献,而 52% 的开发者则同时投入了个人时间和工作时间。组织内部的这种参与可以通过雇佣人员参与其所使用的开源项目或为这些项目贡献其他资源来帮助开源项目长期发展 (Egbahl 2016)。然而,对于许多组织而言,如何证明此类工作的价值,使其能够持续到维持开源项目所需的长期阶段,仍然是一个挑战。
关于术语的一些说明:
- 本指南使用术语“组织“这是故意的,因为展示组织价值对于各种不同类型的组织(例如,大学/政府 OSPO、研究团体、公司)都很重要。
- 在本指南中,“目标”用于描述组织计划实现的目标。根据组织的不同,目标可能被描述为愿景、使命或战略的一部分。在公司业务部门的背景下,目标可能是产品线战略或计划的一部分。这些目标是展示 折扣值 对您的组织来说,因为组织领导更有可能看到与组织目标明确一致的工作的价值。
挑战
许多组织的开源团队都面临着来自领导层的压力,要求他们放弃或减少对开源项目的贡献,转而专注于能够为组织带来更多“价值”的内部项目。这使得开源团队需要证明他们在开源项目中的工作,以证明其价值与员工可以参与的其他项目一样多甚至更多。然而,要以能引起领导层共鸣的方式阐述其理由,并清晰地阐明组织如何从持续为开源项目做出贡献中受益,可能并非易事。
开源团队通常默认通过谈论对开源的贡献来证明他们的工作,听起来像是慈善行为,谈论它如何有利于社区,但这并不能引起领导层的共鸣,因为它没有显示员工时间投资的回报。
在其他情况下,开源团队会提供他们内部使用的开源项目工作数据(例如贡献数量、维护者、提交、功能)的概述;然而,这向领导层表明,虽然员工付出了努力,但员工在开源工作上花费的时间仍然没有明显的回报。
许多组织面临的另一个挑战是,他们没有制定全面的开源贡献战略。员工经常被鼓励直接或间接地为开源做出贡献,但却没有得到适当的指导,无法证明这些努力的价值,这可能会形成一个负面反馈循环:
- 鼓励员工做出贡献。
- 由于不理解其价值,领导层便会问:“我们为什么要花时间去做一些对我们没有帮助的事情?”
- 员工被告知要减少在开源上花费的时间,从而产生不被认可和被低估的感觉,从而导致倦怠。
- 开源项目和组织都开始受到影响。
这种负面反馈循环在没有官方开源团队的组织中会更加明显,证明这项工作的价值就落到了由个人贡献者组成的非官方团队身上,而这些个人贡献者可能没有能力或时间证明这项工作的合理性。在某些情况下,这些人做出贡献可能是因为开源项目需要修复错误或添加有助于其履行职责的功能,但这不被视为他们的正式职责。
经验教训
领导层希望得到以下问题的答案:
- 该组织帮助维护的开源项目的重要性是什么?
- 该组织通过对开源项目的贡献获得了什么?
- 维护开源项目需要花费多少软件工程时间?
制定开源贡献策略可以帮助组织与领导层的讨论,以能够引起领导层共鸣的方式展示其开源工作的价值。开源策略至少应包含以下领域的细节,下文“如何采取行动”部分将分别进行阐述:
- 支持您的组织 目标
- 确定哪些开源项目最 危急 为您的组织
- 评估开源项目 健康风险
- 优先处理 在您的组织有限的资源范围内
- 测量和取景 折扣值
如何采取行动
通过制定强有力的开源战略,展现贵组织开源工作的价值,这些努力和成果可以通过清晰阐述开源工作如何帮助贵组织实现目标,从而引起领导层的共鸣。这有助于构建战略的其余部分,描述开源项目健康状况的影响、贵组织资源的使用方式,以及最终如何衡量其价值。
支持您的组织 目标
投入一些时间和精力来确保您的开源战略能够支持整个组织的目标,这将更容易证明继续开展与组织相关的开源项目的合理性。解释开源贡献如何支持组织的目标,可以帮助执行团队理解这项工作的战略重要性。
制定完善的开源战略至关重要,因为成功参与开源项目需要长期投入。个人和组织需要花费数月甚至数年的时间在特定的开源社区中建立信任和声誉,如果这些人不断被抽调到内部工作,那么所有这些努力都将付诸东流。要让员工继续参与对组织至关重要的开源项目,需要规划和战略思维,确定这些开源工作的优先级,并使其与组织的总体目标保持一致。
然而,每个组织的人员数量和其他资源都是有限的,因此 优先顺序 您的开源工作可以帮助您专注于那些对组织最有价值、最直接地帮助组织实现其目标的活动。这种优先级排序有助于高效利用有限的资源。在本指南中,优先级的定义是一个公式,由关键性乘以健康风险得出。

危急程度 这些努力是否与贵组织的目标相一致?通过展示某些开源项目对贵组织的重要性,这些关键项目可以用来构建战略,让领导层理解长期持续开展这项工作对于确保公司实现目标的重要性。
项目健康风险 在这个等式中很重要,因为有些开源项目比其他项目更健康、更可持续,而有些项目风险更大,需要更多帮助。一个对贵组织至关重要的健康开源项目,其优先级可能低于一个同样重要但风险更大的项目,后者需要贵组织的帮助才能恢复健康并降低使用风险。
因此,投资(分配员工或其他资源)的优先级是关键性和项目健康风险的结合,这是您的组织独有的。
确定哪些开源项目最 危急 为您的组织
对于所有重要的开源项目,确定每个项目的关键性至关重要,这也意味着建立一个有助于识别这些项目的软件清单至关重要。许多组织已经在进行此类清单以评估其供应链风险,因此关键性与现有的供应链评估计划完美契合。
为了更好地说明这个概念,这里有一些带有描述和问题的示例类别,可能有助于确定关键性。
依赖:确定您的组织如何依赖这个开源项目。
- 它是您组织功能的核心组成部分吗?
- 它在整个组织的使用率高吗?
- 对贵组织的项目、产品、服务或团队有哪些下游影响?
- 切换到其他方案有多难?或者分叉并内部维护?成本是多少?
- 意外的安全事件会产生什么影响?
機會:有机会推动或影响开源项目以更好地满足您组织的需求。
- 目前路线图上是否有一些有益的功能或举措?如果有,具体是怎样的?
- 如果情况朝另一个方向发展,将会对您的组织产生什么影响?
- 哪些机会值得投入资源?
- 发展能否创造竞争优势?
- 您的组织是否希望成为该领域的领导者?或者希望与该领域紧密联系?
可支持性:确定您的组织支持使用开源项目的能力。
- 支持起来容易吗?文档齐全吗?
- 提升员工技能或补充专业知识有多难?
- 它是否有助于降低或控制成本(例如,调整Pod的规模)?如果是,具体有哪些因素?
- 使用并投入资源是否比供应商选项更好?
- 使用它是否可以从多个解决方案中进行选择并避免供应商锁定?
这些问题的答案可以帮助您将每个开源项目映射到关键性等级上。以下是一些示例,可以作为起点,使用 1(低)到 10(高)的等级来分配关键性,您将在本指南后面的优先级排序部分再次看到这些示例:
| 临界度量表示例 | |
| 高 (8 - 10) |
|
| 中等(4 - 7) |
|
| 低 (1 - 3) |
|
评估开源项目 健康风险
现在已经确定了关键性,现在是时候考虑等式的另一部分,即开源项目健康风险(优先级 = 关键性 x 健康风险)。
思考开源项目健康风险的方法有很多,但首先要考虑以下几点:
- 质量代码库:完善的架构设计、静态代码分析、充分的测试
- 反馈积极 问题/ PR:首次响应/审查的时间
- 健康 组织参与:没有一家供应商能够推动整个项目
- 有未来计划和路线图:他们正在规划并有设计审查流程
- 质量文件 HPMC胶囊 用户和贡献者:文档对于采用和 贡献者可持续性 和增长
- 固德 安全性 并发布控制措施:他们是否有分类和解决安全问题的历史,他们是否使用/调查供应链安全最佳实践
与关键性类似,项目的健康风险也可以进行评分,同时还可以更深入地了解对组织最重要的核心领域。如果一个项目不健康,但又至关重要,那么很可能值得分配资源来改进项目,使其进入更健康的状态。
例如,当CNCF Helm项目因维护人员单一而被发现存在多个项目健康问题时,风险被上报至CNCF。CNCF员工Jorge Castro参与其中,并帮助该项目重新调整目标(helm v4 的发布) 作为贡献者成长的焦点。这有助于构建更好的贡献者阶梯,并与其他项目、组织和供应商进行合作,以投资开源项目,并使之更具可持续性。
优先处理 在您的组织有限的资源范围内
以下示例深入探讨了如何同时对关键性和健康状况进行评分,并结合两者来设定优先级。该示例使用了两个虚构的开源项目“Foo”和“Bar”,并提供了关于它们的状态、粗略评分以及如何将其映射到优先级的相关信息。假设每个部分为 10 分,则对每个部分进行评分并附上评论,然后将关键性评分乘以健康风险评分。以下是一些重要说明:
- 关键性的三个组成部分(依赖性、机遇和可支持性)会进行平均,从而得出一个关键性分数。但根据组织的需求,使用加权平均值可能是更好的解决方案。分数越高,表示项目越关键。
- 健康被评为健康风险,这意味着数字越低越好,因为健康的项目风险评分较低。
计费示例:
| 项目 | 依赖 | ZAP优势 | 可支持性 | 健康风险 |
| 富 (50) | 关键性:8.3(10、7、8 的平均值) | 健康风险:6 | ||
|
|
|
|
|
| 酒吧 (21) | 关键性:7(6、9、6 的平均值) | 健康风险:3 | ||
|
|
|
|
|
确定优先级的最后一步是将贵组织拥有的资源映射到刚刚评估了关键性的开源项目。上表中的示例显示,Foo 的优先级得分为 50,因此其优先级高于优先级得分为 21 的 Bar。在这种情况下,应该为 Foo 分配更多资源,但同时为两者分配一些资源或许更合理。
从软件工程师和软件工程时间的角度来考虑这个问题可能会有所帮助,但如果您的组织无法投入人员,那么捐赠资金或雇用承包商来帮助这些领域可能会有所帮助。

测量和构建 价值
既然已经确定了最重要的开源项目,就可以用能引起领导团队共鸣的方式来衡量和构建这些信息。最常见的陷阱之一是,组织往往偏向于易于衡量的指标,例如总贡献,但这些指标经不起推敲。指标应该支持目标,并能够与“价值”以及投入开源项目的资源类型挂钩:
- 我们感兴趣的功能有进展吗?
- 我们所关心的问题得到解决了吗?
- 稳定性是否得到改善并且错误是否得到修复?
- 项目本身是否健康?
最终,您的组织需要决定这是否值得资源投资,还是内部维护或接受风险,这可以从三个重点领域来思考:
- 分类特征和举措:如何确定需要跟踪的功能和计划并确定其优先级
- 问题和变更请求:追踪对组织目标的贡献价值
- 总体项目健康状况:跟踪开源项目的整体健康状况以及它如何使您的组织受益
特征和举措分类
当您投资或贡献一个开源项目,并且该项目有路线图时,从项目的功能入手并进行评估,以确定其是否符合您组织的需求,会很有帮助。这些分类在报告人员分配情况和原因时非常有用。
- 投资:直接为您的组织带来益处,从而值得分配更多人员来推动该功能或计划。这些功能或计划通常对组织实施至关重要,并且对开源项目的整体健康至关重要。
- 观看:根据实施情况,可能造成破坏或带来益处的功能或举措。
- 忽略:没有任何功能或举措有望使您的组织受益或影响该项目的使用方式。
问题和变更请求
错误、安全性和问题非常重要,因为大多数人无需了解开源项目本身的细节就能理解它们。以下是一些示例指标,它们很容易从 GitHub 和其他代码平台获取。请注意,在 CHAOSS 项目中,我们使用“变更请求 (CR)”一词来表示拉取请求 (GitHub)、合并请求 (GitLab)、补丁以及将变更合并到代码库的类似流程,因为不同的工具对此有不同的称呼。
| 类型 | 米制 | 来源 |
| 错误 |
|
今年修复的错误(GitHub 查询):
is:issue closed:2024-01-01..2024-11-01 label:kind/bug |
| 安保防护 | 解决安全问题的时间(GitHub cli 工具): \ gh 问题列表 –搜索“is:closed label:security” –json“id,openedAt, closedAt” | |
| 问题/变更请求 |
|
GitHub 查询可以定制 作者: 关键字查看组织创建的项目,以跟踪自己的项目与整个项目。\ \ 可以定制问题/ PR 查询以跟踪计划 |
总体项目健康状况
改善组织中关键开源项目的健康状况,对于降低使用这些项目的风险至关重要。在 CHAOSS 项目中,我们 从业者指南 和 度量 这可以帮助识别开源项目中哪些方面不够健康,并采取措施改进。这并非详尽的清单,但应该能提供一个良好的起点。
开源项目中还有许多其他重要角色,它们可以为您的组织提供价值并改善项目的健康状况。附录中对这些角色进行了更详细的介绍,包括但不限于:
- 分类和项目管理
- 文件记录
- 通讯和营销
- 活动
结语
为了将所有这些内容联系起来,这里提供了之前提到的两个开源项目 Foo 和 Bar 的示例报告,可以作为季度报告交付。此报告重点介绍了其他人修复的错误和安全问题的百分比,以及修复这些问题的平均时间。下表显示了软件工程师 (SWE) 投入的明细,以及与被确定为重要类别相关的注释。
讲述故事并与领导层沟通可能包括以下示例:
- 对于 Bar,我们每季度分配 1 个 SWE,并且看到整体安全性有了很好的改善,错误趋势有所下降,我们提交的错误都得到了修复。
- 对于 Foo 来说,功能 baz 将于下个月发布,它将大幅提升我们开发者的工作效率。我们预计功能发布后需要两周时间才能在内部推广。我们进行了一次战略性招聘,他们正在帮助推动该功能的上游开发,同时也在投入时间提升我们团队的技能,以便更好地参与项目。

一份指南不可能涵盖所有如何展示贵组织开源工作价值的方法,因此,这只是追踪开源投资并将其与目标挂钩,同时有效描述贡献价值的潜在方法的一小部分。这需要正确的框架,并确保将资源分配到最有价值的地方;然而,框架和资源分配几乎在每种情况下都会有所不同,因为这取决于贵组织的独特需求。
注意事项和注意事项
- 展示组织价值在很大程度上取决于您组织的需求,因此这些活动应根据您组织的目标来解释。
- 投资回报率 (ROI) 是出了名的难以衡量,但在开源软件投资方面,衡量起来更是难上加难。很难给出一个明确的投资回报率数字,因此,讲故事和举例说明,对于帮助您的组织理解开源工作的价值至关重要。
延伸阅读
- 我们有一个 短片 CHAOSS YouTube 频道用 6 分钟的时间讲解了本指南。
- CHAOSScast 第 120 集:实践者指南 - 展示组织价值
- Bob Killen 在 KubeCon 上发表演讲: 为什么这么难?如何传递开源的商业价值 (幻灯片和视频)以及 白鲸 Linux 基金会成员峰会上的演讲。
- CHAOSS 从业者指南 主题包括提高响应能力、贡献者可持续性、组织参与度和安全性。
合作者
以下人员为本指南做出了贡献:
- 鲍勃·基伦
- 黎明福斯特
- 贾斯汀·戈塞斯
- 里亚·斯查纳特
- 马特·杰蒙普雷斯
- Mike Gif?raw=trueford
案例
- Eghbal,N.(2016 年)。 道路和桥梁:数字基础设施背后无形的劳动力. 纽约,纽约州:福特基金会。
- Foster, D. (2018). 理解流动组织中的协作:一种邻近方法 [博士论文,格林威治大学]。
- Linåker, J.、Link, G. 和 Lumbard, K. (2024 年 XNUMX 月)。通过人力基础设施维持健康开源软件项目的维护劳动力:维护人员的视角。在 第 18 届 ACM/IEEE 国际经验软件工程与测量研讨会论文集 (pp。37-48)。
- Linux 基金会(2023 年)。 开源维护者:探索世界上最重要的开源软件项目所面临的人员、实践和限制。
- 瓦尔加斯,索菲亚(2023)。 是什么促使您转向开源? 项目如何鼓励可持续的开源参与?谷歌开源。
CHAOSS 从业者指南是 MIT 授权的动态文档,我们欢迎您的反馈和意见。您可以在以下位置建议对本文档进行修改 https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/demonstrating-org-value.md.
附录
开源项目中有许多重要角色,它们可以为您的组织提供价值并改善项目的健康状况。这些角色包括但不限于:
- 分类和项目管理
- 文件记录
- 通讯和营销
- 活动
分类和项目管理
聘请产品经理或项目经理可以帮助减少工程人员在非工程工作上花费的时间,而这些工作通常不如拥有产品和项目管理专业知识的人员高效完成。进行分类可以比您没有参与的情况下更早地了解开源项目活动和对您组织至关重要的问题。通过审查新出现的问题、分配标签和优先级,并协助规划路线图,您的组织可以获得诸多益处:
- 问题和错误的优先分类
- 减少解决时间
- 提前意识到潜在的重大变化和安全问题
- 通过改善整体项目健康状况来降低项目使用风险
- 引入更好的数据来回答问题和跟踪趋势。
关键指标:
长期健康指标:
文件记录
许多人在开始开源项目时都依赖其文档,而优质的文档可以帮助减少常见问题的支持请求,而这些问题可以通过优质的文档得到解决。特别是,一份记录完善的贡献者指南可以帮助新人入职,并为贡献者漏斗打下良好的基础。它们可以通过提升网站流量、搜索引擎可检索性和其他网络统计数据来提高采用率和整体积极情绪。贡献者很少愿意在项目初期就从头开始创建文档,但如果项目从一开始就有优质的文档,人们就会更愿意持续更新文档。 “拥有好的文档可以产生更好的文档。” 记录详尽的开源项目更容易让用户理解和使用,从而有助于贡献者的可持续性,并且您的组织可以获得以下好处:
- 更好的开发者体验
- 提高自助服务能力/减少工程时间
- 通过改善整体项目健康状况来降低项目使用风险
指标:
- 减少支持问题
- 增加网站流量和相应的网站指标
长期健康指标:
- 预订量显著增长, 新贡献者 参与度和留存率
- 对问题和变更请求的积极情绪
传播与营销
开源项目通常缺乏沟通和营销最佳实践方面的知识和技能。维护人员和工程师并非总能掌握撰写精准信息以吸引关注的技能,他们通常也乐于接受营销和推广方面的帮助,这让他们能够专注于自己更擅长的技术方面 (Linåker et al., 2024)。举一个信息传递不清晰且过于复杂的例子,一项增强提案的描述最初是:“本 KEP 建议,如果 spec.completions 在更新前后等于 spec.parallelism,则允许修改索引作业的 spec.completions,这意味着 spec.completions 只能与 spec.parallelism 协同修改。” 后来,该提案被改写为:“启用索引作业的自动扩缩”。通过提供沟通和营销资源,您的组织可以获得以下好处:
- 提高品牌知名度和联想度
- 通过推动更多采用和转化为贡献者来降低项目使用风险
- 尽早意识到潜在的重大变化
指标
- 增加网站流量和相关网站指标
- 增加社会参与度
- 增加话语权
长期健康指标
- 成长 采用 (例如下载量、星标/分叉、声音份额)
- 沟通渠道上的积极情绪
活动
活动有很多用途,从帮助新贡献者入职的新贡献者研讨会,到能够畅谈开发障碍的峰会。许多开源项目在活动中解决了阻碍因素和更大的问题(Foster,2018),而参与其中可以带来巨大的优势,确保贵组织的需求得到充分考虑。它们对于研讨会和培训新贡献者也很有用。活动的作用常常被低估,但它们有助于创建一个健康的项目,并且非常重要。贵组织可以从以下几个方面受益:
- 研讨会可以作为入职培训或额外技能提升的机会
- “在房间里”可以确保组织的需求得到满足
- 通过改善整体项目健康状况来降低项目使用风险
指标:
- 追踪与会者的贡献
- 从参与者/贡献者到维护者的转化
- 未受阻拦的问题/功能
长期健康指标:
- 提高贡献者的参与度和可持续性,涵盖多种指标(例如, 贡献者数量, 项目速度、贡献频率、保留率)
- 贡献者向维护者的转化率正在提高。CHAOSS 实践者指南采用 MIT 许可,是持续更新的文档,我们欢迎您的反馈和意见。您可以在此处提出对该文档的编辑建议。 https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/demonstrating-org-value.md.