成功建立开源项目办公室 (OSPO) 指南

了解如何最好地发展和维护您的开源社区和盟友。
106 位读者喜欢这个。

公司创建开源项目办公室 (OSPO) 以管理他们与其所依赖的开源生态系统的关系。通过了解公司的开源生态系统,OSPO 能够最大化公司的投资回报,并降低消费、贡献和发布开源软件的风险。此外,由于公司依赖其开源生态系统,确保其健康和可持续性将确保公司的健康、可持续增长和发展。

OSPO 如何变得对公司及其开源生态系统至关重要?

马克·安德森曾说过“软件正在吞噬世界”,而最近,可以说开源正在吞噬软件世界。但是这个过程是如何发生的呢?

公司以多种方式参与开源项目。这些项目构成了公司的开源生态系统,它们的关系和互动可以通过开源软件 (OSS) 的流入和流出流程来看待。

从 OSS 流入的角度来看,公司使用它来构建自己的解决方案和自己的基础设施。OSS 的引入是因为它是其技术提供商使用的代码的一部分,或者是因为他们自己的开发人员将开源组件添加到公司的信息技术 (IT) 基础设施中。

从 OSS 流出的角度来看,一些公司为 OSS 项目做出贡献。这种贡献可能是公司对其解决方案的要求的一部分,这些解决方案需要在上游项目中进行某些修复。例如,三星为某些图形相关项目做出贡献,以确保其硬件在上市后获得软件支持。在其他一些情况下,为 OSS 做出贡献是一种留住人才的机制,允许人们为与其日常工作不同的项目做出贡献。

一些公司发布自己的开源项目作为流出 OSS 流程。对于像 Red Hat 或 GitLab 这样的公司来说,这是可以预期的。但是,越来越多的非软件公司发布大量 OSS,例如 Lyft。

OSS inbound and outbound processes

OSS 流入和流出流程

最终,所有参与流入和流出 OSS 流程的项目都是公司的 OSS 生态系统。就像任何生物一样,公司的健康和可持续性取决于其周围的生态系统。

OSPO 的职责

遵循物种及其生态系统,在 OSPO 团队工作的人员可以被视为组织 OSS 生态系统中的护林员。他们照顾生态系统及其与公司的关系,以保持一切健康和可持续。

当公司使用开源软件项目时,他们需要注意许可和合规性,检查项目的健康状况,确保没有安全漏洞,并且在某些情况下,识别有才华的社区成员以进行潜在的招聘流程。

当公司为开源软件项目做出贡献时,他们需要确保没有知识产权 (IP) 问题,确保公司贡献的足迹及其在项目中的领导地位,有时,还需要帮助有才华的人通过他们的贡献保持与公司的联系。

当公司发布和维护开源项目时,他们有责任确保社区参与和增长,检查没有知识产权问题,公司保持其足迹和领导地位,并可能吸引新的人才加入公司。

您是否意识到 OSPO 团队所需的全部技能?当我询问在 OSPO 工作的人员他们的团队规模时,人数约为公司每 1,000 名开发人员 1 到 5 人。这是一个小型团队,需要监控很多人及其潜在的 OSS 相关活动。

如何管理 OSPO

考虑到 OSPO 人员脑海中的所有这些活动以及他们需要担心的所有资源,他们如何能够管理所有这些?

至少有几个开源社区为他们提供有价值的知识和资源

  • TODO Group 是“一个开放的公司团体,他们希望在实践、工具以及其他运行成功且有效的开源项目和程序的方式上进行合作”。例如,他们有一整套 指南,其中包含运行 OSPO 的公司的最佳实践和经验。
  • CHAOSS(开源软件社区健康分析) 社区开发用于管理开源项目健康和可持续性的指标、方法和软件。(有关 CHAOSS 活跃社区和工作组的更多信息,请参见下文)。

OSPO 管理人员需要向公司的其他部门报告大量信息,以回答许多与其 OSS 流入和流出流程相关的问题,例如,我们在组织中使用哪些项目?这些项目的健康状况如何?这些项目中的关键人物是谁?我们正在为哪些项目做出贡献?我们正在发布哪些项目?我们如何处理社区贡献?关键贡献者是谁?

数据驱动的 OSPO

正如威廉·爱德华兹·戴明所说,“没有数据,你只是一个有观点的人。”

有观点并不是坏事,但是拥有基于数据的观点肯定可以更容易地理解、讨论和确定最适合您的公司及其目标流程。CHAOSS 是建议您寻求指标策略和工具指导的社区。

最近,CHAOSS 社区发布了 一套新的指标定义。这些指标只是每个工作组 (WG) 重点领域中讨论的所有指标的子集

  • 通用 WG:定义两个工作组都使用的指标,或对社区健康很重要,但不完全适合其他现有工作组之一的指标。感兴趣的领域包括组织隶属关系、响应能力和地域覆盖范围。
  • 多元化和包容性 WG:收集关于开源项目中多元化和包容性的经验,目标是从定性和定量的角度理解如何衡量多元化和包容性。
  • 演进 WG:改进告知演进的指标,并与软件实现合作。
  • 风险 WG:改进告知风险的指标,并与软件实现合作。
  • 价值 WG:专注于开源经济价值的行业标准指标。他们的主要目标是发布可信的行业标准价值指标——一种软件开发的标准普尔,以及指标重要性和行业规范的权威来源。

在工具方面,像 AugurCregitGrimoireLab 这样的项目是报告这些指标的参考工具,但也报告与 OSPO 活动相关的许多其他指标。它们也是 OSS 社区提供的新工具和解决方案的种子,例如 Cauldron.io,这是一个用于简化 OSS 生态系统分析的 SaaS 开源解决方案。

CHAOSS Metrics for 15 years of Unity OSS activity. Source: cauldron.io

CHAOSS 指标,用于 Unity OSS 15 年的活动。来源:cauldron.io

如果没有指标策略,所有这些指标和数据都是无用的。通常,第一种方法是尝试尽可能多地测量,生成充斥着图表和数据的压倒性报告和仪表板。这有什么价值呢?

经验表明,非常有效的方法是 目标、问题、指标 (GQM) 策略。但是我们如何在 OSPO 中实践它呢?

首先,我们需要了解公司在使用、消费、贡献或发布和维护 OSS 项目时的目标。通常的目标与市场定位、所需的上游功能开发以及人才吸引或保留有关。基于这些目标,我们应该写下可以用数字回答的相关问题,如下所示

我的 OSS 生态系统项目的核心维护者是谁/有多少?

Uber OSS code core, regular, and casual contributors evolution. Source: uber.biterg.io

Uber OSS 代码核心、常规和临时贡献者演变。来源:uber.biterg.io

人们通过不同的机制或工具(代码、问题、评论、测试等)做出贡献。衡量核心贡献者(贡献了 80% 的贡献的人)、常规贡献者(贡献了 15% 的贡献的人)和临时贡献者(贡献了 5% 的贡献的人)可以回答与一段时间内的参与相关的问题,以及人们如何在不同的类别之间移动。添加隶属关系信息有助于识别外部核心贡献者。

贡献发生在何处?

Uber OSS activity based on location. Source: uber.biterg.io

Uber OSS 活动基于位置和时区。来源:uber.biterg.io

OSS 生态系统的增长也与 OSS 项目在世界各地的传播有关。了解这种传播有助于 OSPO 和公司管理行动,以改善对来自不同国家和地区的人们的支持。

公司的 OSS 网络是什么?

Uber OSS network. Source: uber.biterg.io

Uber OSS 网络。来源:uber.biterg.io

公司的 OSS 生态系统包括公司人员贡献的那些项目。了解他们贡献的项目可以深入了解人们对哪些技术或 OSS 组件感兴趣,以及公司与哪些公司或组织合作。

公司如何处理贡献?

Github Pull Requests backlog management index and time to close analysis. Source: uber.biterg.io

Github Pull Requests 积压管理索引和关闭时间分析。来源:uber.biterg.io

发布 OSS 项目的目标之一是发展围绕它们的社区。衡量公司如何处理来自其边界之外的对其项目的贡献,有助于了解它的“欢迎”程度,并识别导师(或瓶颈)和降低贡献门槛的机会。

消费者 vs. 维护者

在过去的几个月中,我们一直听到企业免费获取 OSS 而不回馈。典型的论点是,这些公司 благодаря 免费工作赚取数百万美元,再加上由于用户的抱怨和免费支持请求而导致的 OSS 项目维护者倦怠问题。

系统是不平衡的;通常,用户数量超过维护者数量。这好还是坏?拥有我们软件的用户是(或应该是)好的。但是我们需要管理双方的期望。

从公司的角度来看,不加注意地消费 OSS 是非常非常危险的。

OSPO 可以在教育公司了解他们面临的风险方面发挥重要作用,以及如何通过回馈其 OSS 生态系统来降低这些风险。请记住,公司的整体可持续性可能在很大程度上依赖于其生态系统的可持续性。

一个好的策略是开始将您的公司从纯粹的 OSS 消费者转变为为其 OSS 流入项目做出贡献的贡献者。从仅仅提交问题和提出问题到帮助解决问题、回答问题,甚至发送补丁,贡献有助于发展和维护项目,同时回馈社区。这不会立即发生,但随着时间的推移,公司将被视为 OSS 生态系统的公民。最终,公司的一些人可能会最终帮助维护这些项目。

那么钱呢?有很多方法可以在经济上支持 OSS 生态系统。一些例子

最后但并非最不重要的一点是,公司需要避免“非我发明”综合症。对于某些 OSS 项目,可能有一些公司提供咨询、定制、维护和/或支持服务。与其采用 OSS 并花费时间和人力来自托管、自定义或尝试将这些类型的服务引入内部,不如聘请其中一些公司来完成思考工作可能更明智和更有效。

作为最后的评论,我想强调 OSPO 对于公司在当前市场上取得成功和发展的重要性。作为公司 OSS 生态系统的牧羊人,他们是组织中最好的人,可以了解生态系统如何工作和流动,他们应该被授权管理、监控和提出建议和决策,以确保可持续性和增长。

您的组织是否已经拥有 OSPO?

接下来阅读什么
Manrique Lopez
Manrique 是 Bitergia 的首席执行官,也是自由、开放源代码软件开发社区的热情支持者。

1 条评论

关于 OSPO 的这个主题是一篇令人兴奋的阅读和信息丰富的文章。我想知道 OSPO 如何促进投资回报。

感谢分享

© . All rights reserved.