设置成功的开源计划办公室(OSPO)的指南

2023-05-16

公司创建了开放源代码计划办公室(OSPO),以管理其与所依赖的开放源代码生态系统的关系。 通过了解公司的开源生态系统,OSPO可以最大化公司的投资回报率,并降低使用,贡献和发布开源软件的风险。 此外,由于公司依赖其开源生态系统,因此,确保其健康和可持续性将确保公司的健康,可持续增长和发展。

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

马克·安德森(Marc Andreessen)曾说过“软件正在吞噬世界”,最近,可以说开源正在吞噬软件世界。 但是,该过程如何进行?

从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)问题,以确保公司的贡献和在项目中的领导地位,有时还需要帮助人才与他们保持联系公司通过他们的贡献。

当公司发布并维护开源项目时,他们负责确保社区参与和发展,检查是否存在IP问题,确保公司保持足迹和领导地位,并可能吸引新的人才到公司。

您是否了解OSPO团队所需的全部技能? 当我问过OSPO工作人员的团队规模时,每1000名开发人员中大约有1-5人。 这是一个很小的团队,负责监视很多人及其潜在的OSS相关活动。

如何管理OSPO

有了OSPO中的所有这些活动,人们的思想和他们需要担心的所有资源,他们如何能够管理所有这些?

至少有几个开源社区为他们提供了宝贵的知识和资源:

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

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

数据驱动的OSPO

正如威廉·爱德华兹·戴明(William Edwards Deming)所说:“没有数据,您只是一个有意见的人。”

发表意见并不是一件坏事,但是基于数据发表意见无疑会更容易理解,讨论和确定最适合您的公司及其目标的流程。 推荐使用CHAOSS社区,以获取有关度量标准策略和工具的指南。

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

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

在加工方面,项目一样, 预言者 , Cregit和GrimoireLab是与OSPO活动的参考工具,报告这些指标,但也有许多人。 它们也是OSS社区(如Cauldron.io)提供的新工具和解决方案的种子, Cauldron.io是一种SaaS开源解决方案,可简化OSS生态系统分析。

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请求积压管理索引和关闭分析的时间。 资料来源:uber.biterg.io

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

消费者与维护者

在过去的几个月中,我们听说公司免费提供OSS而没有回馈。 典型的论点是,由于免费工作,这些公司赚了数百万美元,再加上由于用户的抱怨和免费支持的请求,OSS项目维护人员精疲力尽。

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

从公司的角度来看,不加护理地消费OSS的风险非常大。

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

一个好的策略是开始将您的公司从单纯的OSS消费者转变为对他们的OSS入站项目的贡献者。 从仅提交问题和提出问题以帮助解决问题,回答问题,甚至发送补丁程序,贡献都有助于扩大和维护项目,同时回馈社区。 它不会立即发生,但是随着时间的流逝,该公司将被视为OSS生态系统的公民。 最终,公司的某些人最终也可能会帮助维护这些项目。

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

  • Tidelift或OpenCollective等业务计划
  • 基金会及其支持机制,例如Software Freedom Conservancy或Linux Foundation的CommunityBridge
  • 自筹资金计划(例如, Indeed和Salesforce已经完成)
  • Github赞助商或Patreon等新兴演出开发方法

最后但并非最不重要的一点是,公司需要避免“此处未发明”综合症。 对于某些OSS项目,可能会有公司提供咨询,定制,维护和/或支持服务。 与其花费OSS并花费时间和人员进行自我托管,自我定制或尝试将这些服务引入内部,不如雇用一些公司来进行思想工作可能更聪明,更高效。

最后,我想强调OSPO对于公司在当前市场中成功和成长的重要性。 作为公司OSS生态系统的牧羊人,他们是组织中了解生态系统如何工作和流动的最佳人选,应赋予他们管理,监控并提出建议和决策的权限,以确保可持续性和增长。

您的组织有OSPO吗?

翻译自: https://opensource.com/article/20/5/open-source-program-office

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置成功的开源计划办公室(OSPO)的指南 的相关文章

  • Docker无介绍快使用,docker拉取Nginx(六)

    Docker无介绍快使用 xff0c docker拉取Nginx xff08 六 xff09 问题背景Docker无介绍快使用 xff0c 安装部署hello测试 xff08 一 xff09 Docker无介绍快使用 xff0c docke
  • 【教程向】通过windows在树莓派3B上安装Ubuntu MATE 16.04.2 (Xenial)

    本文参考了http www ituring com cn article 273613 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • Docker无介绍快使用,docker拉取rabbitmq(十三)

    Docker无介绍快使用 xff0c docker拉取rabbitmq xff08 十三 xff09 问题背景Docker无介绍快使用 xff0c 安装部署hello测试 xff08 一 xff09 Docker无介绍快使用 xff0c d
  • 【ROS2&AI】电脑摄像头、intel-D435,利用ros2发布订阅图像(Python)

    本文欲分享两个代码来实现图像的传输 xff0c 利用ros2 xff0c ROS2 xff5e 配置 xff1a Ubuntu20 04 Python ROS2 foxy opencv xff1b 电脑相机 or Intel D435相机
  • 2021年嵌入式面试题汇总(最新经典)

    写在前面 xff1a 秋招嵌入式开发方向 xff0c 经过了很多场的笔试与面试 xff0c 在准备的过程中看了非常多的资料 xff0c 现在把他们整理一下 xff0c 有的资料看过了觉得不错就保存下来了 xff0c 如果有不对的地方 xff
  • 垂直起降无人机 Gazebo + PX4 HITL simulation

    环境 xff1a ubuntu版本 xff1a 20 04 px4固件版本 xff1a stable v1 12 3 QgroundControl版本 xff1a v4 14 飞控硬件 xff1a pixhawk cuav v5 43 ga
  • PX4飞控源码L1制导律详解

    PX4飞控源码L1制导律详解 本文目的在于帮助大家看清楚L1制导律选择参考点的策略 xff0c 所以作者将与L1知道无关的代码添加删除线 所有以下划线开头的变量在PX4中都是全局变量 xff0c 在下面的函数中 xff0c 有 target
  • Ubuntu下PX4飞控开发环境搭建

    双清微电子 前言 xff1a PX4支持Pixhawk pixracer 高通骁龙飞控板 树莓派 派诺特等硬件 PX4是构建在Nuttx实时操作系统上的 第一步 xff1a 安装Linux基础软件 第二步 xff1a 下载源代码 第三步 安
  • 开源飞控APM/PX4的发展史

    开源 Open Source 的概念最早被应用于软件 xff0c 开放源代码促进会 Open Source Initiative 用其描述那些源码可以被公众使用的软件 xff0c 并且此软件的使用 修改和发行也不受许可证的限制 每一个开源项
  • Mexican lolita ghds sale images

    The clip on hair extensions are available cheap ghd a variety of different colors and lengths will be the very best choi
  • python 获取当前文件路径

    一 Python 获取当前文件路径方法 sys path 0 获取文件当前工作目录路径 绝对路径 sys argv 0 获得模块所在的路径 由系统决定是否是全名 若显示调用python指令 xff0c 如python demo py xff
  • C#下使用RealSense D435i获取图像,深度,导出.ply点云

    首先需要在NuGet管理中安装RealSense库相关包 主要安装下面两个包 xff1a 代码中引入 xff1a using Intel RealSense 配置相机 var cfg 61 new Config using var ctx
  • 小觅的简单代码程序实现

    96 from future import print function import os import sys PY DIR 61 os path dirname os path dirname os path abspath file
  • TCP 服务器程序突然中断 由于send函数导致

    最近在写tcp 客户端服务器操作 设置服务器为单线程多个客户端连入 开发过程中出现 服务器代码运行过程中 在send处突然中断情况 通过GDB调试发现send函数报错提示打开文件错误 由于测试过程纵单节点反复连入客户端 在client so
  • 从高考到程序员

    从高考到程序员 说真的 xff0c 我做梦也没有想到我会去做程序员 xff0c 一个高中我一直不敢也不想碰到的职业 然而 xff0c 我现在却成为了一位程序员 xff0c 有时候 xff0c 人生真的有点戏剧性 上高中时的我对未来真的是没有
  • 关于单链表的理解

    链表是一种物理 存储单元上非连续 非顺序的 存储结构 xff0c 数据元素的逻辑顺序是通过链表中的 指针链接次序实现的 链表由一系列结点 xff08 链表中每一个元素称为结点 xff09 组成 xff0c 结点可以在运行时动态生成 每个结点
  • rc1改为rc2出现的问题1

    同样的代码 xff0c 在rc1运行时正常 xff0c 在rc2第一次运行正常 xff08 控制台比rc1输出了好多信息 xff09 xff0c 再次运行时抛出异常后退出 java 代码 2007 8 8 13 09 26 net jxta
  • 对倒立摆的LQR控制

    1 问题建模 首先对待研究的问题建立数学模型 在倒立摆模型分析这篇文章里 xff0c 我们已经做了完整的受力分析 最终得到了关于系统变量的微分方程 M 43 m
  • 如何在VirtualBox中使用分支快照

    VirtualBox has supported virtual machine VM snapshots for a while However until version 3 1 it was only possible to reve

随机推荐