公司创建了开放源代码计划办公室(OSPO),以管理其与所依赖的开放源代码生态系统的关系。 通过了解公司的开源生态系统,OSPO可以最大化公司的投资回报率,并降低使用,贡献和发布开源软件的风险。 此外,由于公司依赖其开源生态系统,因此,确保其健康和可持续性将确保公司的健康,可持续增长和发展。
OSPO如何对公司及其开源生态系统变得至关重要?
马克·安德森(Marc Andreessen)曾说过“软件正在吞噬世界”,最近,可以说开源正在吞噬软件世界。 但是,该过程如何进行?
从OSS入站的角度来看,公司使用它来构建自己的解决方案和自己的基础架构。 之所以引入OSS,是因为OSS是其技术提供商使用的代码的一部分,或者是因为其自己的开发人员向公司的信息技术(IT)基础架构添加了开源组件。
从OSS出站角度来看,一些公司为OSS项目做出了贡献。 这种贡献可能是公司对解决方案的要求的一部分,而这些解决方案需要在上游项目中进行某些修复。 例如,三星为某些与图形相关的项目做出了贡献,以确保其硬件在进入市场后就具有软件支持。 在另一些情况下,为OSS做出贡献是一种通过允许人们为不同于日常工作的项目做出贡献而留住人才的机制。
一些公司发布自己的开源项目作为出站OSS流程。 对于像Red Hat或GitLab这样的公司,这是可以预期的。 但是,越来越多的非软件公司发布了许多OSS,例如Lyft。
最终,入站和出站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生态系统分析。
没有指标策略,所有这些指标和数据都是无用的。 通常,第一种方法是尝试尽可能地进行度量,以生成包含图表和数据的压倒性报告和仪表板。 那有什么价值?
经验表明, 目标,问题,指标(GQM)策略是一种非常有效的方法。 但是我们如何在OSPO中将其付诸实践呢?
首先,在使用,使用,贡献或发布和维护OSS项目时,我们需要了解公司的目标。 通常的目标与市场定位,所需的上游功能开发以及吸引或保留人才有关。 基于这些目标,我们应该写下可以用数字回答的相关问题,如下所示:
我的OSS生态系统项目的核心维护者是谁?
人们通过不同的机制或工具(代码,问题,评论,测试等)做出贡献。 评估核心贡献者(占贡献额的80%),常规贡献者(占贡献额的15%)和休闲贡献者(占贡献额的5%)可以回答与随着时间的推移参与,而且人们如何在不同的桶之间移动。 添加隶属关系信息有助于确定外部核心贡献者。
捐款在哪里发生?
OSS生态系统的增长也与遍布全球的OSS项目有关。 了解这种传播有助于OSPO和公司管理改善对来自不同国家和地区的人们的支持的行动。
公司的OSS网络是什么?
公司的OSS生态系统包括公司员工参与的那些项目。 了解它们为哪些项目做出了贡献,就可以洞悉人们感兴趣的技术或OSS组件,以及与之合作的公司或组织。
公司如何处理捐款?
发布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