开源项目办公室OSPO设置指南

2021-04-06 08:30 Linux与嵌入式系统

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


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

    Marc Andreessen说过“软件正在吞噬世界”,最近,可以说开源正在吞噬软件世界。但这个过程是如何发生的呢?

    公司以多种方式参与开源项目。这些项目组成了公司的开源生态系统,它们的关系和交互可以通过开源软件(OSS)的出入流程看到。
    从向内的角度来看,公司使用它来构建自己的解决方案和自己的基础设施。开源之所以被引入,是因为它是他们的技术供应商使用的代码的一部分,或者是因为他们自己的开发人员在公司的信息技术(IT)基础设施中添加了开源组件。
    从向外的角度来看,一些公司为开源项目做出了贡献。该贡献可能是公司对其解决方案的需求的一部分,这些解决方案需要对上游项目进行某些修复。例如,三星参与了一些与图形相关的项目,以确保其硬件一旦进入市场就能得到软件支持。在其他一些情况下,为开源做贡献是一种留住人才的机制,允许人们为不同于他们日常工作的项目做贡献。
    一些公司将他们自己的开源项目作为开源输出过程发布。对于像Red Hat或GitLab这样的公司来说,这是意料之中的。但是,越来越多的非软件公司发布了大量的开源软件,比如自动驾驶公司Lyft。

    最终,所有这些涉及输入和输出开源软件流程的项目都是公司的开源软件生态系统。和任何生态系统一样,该公司的健康和可持续性取决于其周围的生态系统。


2.OSPO的责任是什么?

    OSPO团队的工作人员可以被视为该组织开源生态系统的管理员。他们照顾生态系统及其与公司的关系,以保持一切健康和可持续发展。
    当公司使用开源软件项目时,他们需要了解许可证和合规性,以检查项目的健康状况,确保没有安全缺陷,在某些情况下,还需要为潜在的招聘过程识别有才华的社区成员。
    当公司为开源软件项目做出贡献时,他们需要确保没有知识产权(IP)问题,以确保公司在项目中贡献的记录和领导力,有时还需要帮助有才华的人通过他们的贡献与公司保持联系。
    当公司发布和维护开源项目时,他们要负责确保社区参与和增长,检查是否存在知识产权问题,公司要保持自己的领导地位,或许还要吸引新人才到公司。
    当我询问在OSPO工作的人他们的团队规模时,我发现这个数字是每1000名开发者中有1至5人。这是一个小团队,用来监视很多人以及他们潜在的与开源软件相关的活动。


3.如何管理OSPO?

    至少有几个开源社区为他们提供了有价值的知识和资源:
    TODO小组是“一个开放的公司小组,他们希望在实践、工具和其他方式上进行协作,以运行成功和有效的开源项目和程序。”例如,他们有一套完整的指南,其中包含了运营OSPO的公司的最佳实践。
    CHAOS(面向开源软件的社区健康分析)社区开发用于管理开源项目健康和可持续性的指标、方法和软件。


图片

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


    OSPO经理需要向公司其他部门报告大量信息,以回答许多与开源软件输入书出流程有关的问题,比如,我们在组织中使用的是哪些项目?这些项目的运行状况如何?这些项目中的关键人物是谁?我们参与了哪些项目?我们要发布哪些项目?我们如何处理社区贡献?谁是主要贡献者?


4.数据驱动的OSPO

    William Edwards Deming说过:“没有数据,你只是一个有观点的人。”
    有意见并不是坏事,但基于数据有意见当然更容易理解、讨论和确定最适合你的公司及其目标的流程。CHAOS是一个值得推荐的社区,可以在那里获得关于度量标准、策略和工具的指导。最近,CHAOS社区发布了一组新的度量定义。这些指标只是每个工作组(WG)关注领域中讨论的所有指标的子集:
    共同工作组:定义两个工作组使用的或对社区健康很重要,但不完全适合其他现有工作组之一的指标。感兴趣的领域包括组织联系、响应能力和地理覆盖。
    多样性和包容性工作组: 收集关于开源项目中多样性和包容性的经验,目的是从定性和定量的角度理解多样性和包容性如何度量。
      改进工作组: 改进反映改进的度量标准,并与软件实现一起工作。
      风险工作组: 改进告知风险的度量标准,并与软件实现一起工作。
    价值工作组: 关注开源中经济价值的行业标准度量。他们的主要目标是发布可信的行业标准价值度量——一种软件开发的标准,以及度量的重要性和行业规范的权威来源。
  在工具方面,像Augur、Cregit和GrimoireLab这样的项目是报告这些指标的参考工具,还有许多其他与OSPO活动相关的工具。Cauldron.io,一个开源SaaS解决方案,简化了对开源软件生态系统的分析。

    如果没有参数策略,所有这些参数和数据都是无用的。通常,第一种方法是尽可能多地度量,生成大量的报告和充满图表和数据的仪表板。它的值是多少?
    经验表明,一个非常有效的方法是目标、问题、度量(GQM)策略。但我们如何在OSPO中将其付诸实践呢?
    首先,我们需要了解公司在使用、贡献或发布和维护开源软件项目时的目标。通常的目标与市场定位、开发所需的上游特性、吸引或保留人才有关。基于这些目标,我们应该写下可以用数字回答的相关问题,如下所示:


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


图片

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


    人们通过不同的机制或工具(代码、问题列表、注释、测试等)做出贡献。测量核心贡献者(那些做过80%贡献的人),常规的(那些做过15%贡献的人),和随意的贡献者(那些做出了5%的贡献可以回答问题的人)。添加附属信息有助于识别外部核心贡献者。


6.贡献者都来自那里?

    开源软件生态系统的发展也与遍布世界各地的开源软件项目有关。了解其分布有助于OSPO和公司管理行为,改善对来自不同国家和地区的人们的支持。


图片

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


7.什么是公司的开源软件网络?

    公司的开源软件生态系统包括那些由该公司员工贡献的项目。了解他们为哪些项目做出了贡献,可以洞察人们感兴趣的技术或开源软件组件,以及该公司与哪些公司或组织合作。

图片

Uber OSS network. Source: uber.biterg.io


8.公司如何处理开源贡献?


图片

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


    发布开源软件项目的目标之一是发展围绕它们的社区。度量公司如何从外部处理对其项目的贡献,有助于理解它有多“受欢迎”,并识别导师(或瓶颈)和降低贡献障碍的概率。


9.消费者和维护者
    在过去的几个月里,我们听到很多公司免费使用开源软件,却没有做出任何贡献。典型的争论是,这些公司因为免费代码而赚了数百万美元,以及由于用户的抱怨和对免费支持的要求而导致开源软件项目维护者精疲力竭的情况。
   另外,通常情况下,用户数量超过维护人员数量。这是好事还是坏事?有用户使用我们的软件是(或者应该是)好。但我们需要管理双方的期望。
从公司的角度来看,毫无顾忌地消费开源软件是非常非常危险的。
    在告诉公司了解他们所面临的风险,以及如何通过回馈他们的开源软件生态系统来减少风险方面,OSPO可以发挥重要作用。记住,一个公司的整体可持续性很大程度上取决于其生态系统的可持续性。
    一个好的策略是开始将你的公司从纯粹的开源软件消费者转变为他们的开源软件使用项目的贡献者。从提交问题和提出问题来帮助解决问题,回答问题,甚至发送补丁,贡献有助于发展和维护项目,同时回馈社区。这不会马上发生,但随着时间的推移,该公司将被视为开源软件生态系统的公民。最终,该公司的一些人可能也会帮助维护这些项目。
       那钱呢?有很多方法可以在经济上支持开源软件生态系统。一些例子:
   像Tidelift或OpenCollective这样的业务计划,基金会和他们的支持机制,比如软件自由保护,或者Linux基金会的社区之桥,自筹资金项目(就像Indeed和Salesforce所做的那样);新兴的gig开发方式,如Github赞助商或Patreon。
     最后但并非最不重要的是,公司需要避免“非我发明”综合症。对于一些开源软件项目,可能会有提供咨询、定制、维护和/或支持服务的公司。与其使用开源软件,花时间和人力来自我托管,自我定制,或者把这些服务带到公司内部,雇一些这样的公司来做思考工作可能是更聪明和更高效的。
    最后,我想强调一下OSPO对公司在当前市场取得成功和发展的重要性。作为公司开源生态系统的牧羊人,他们是组织中了解生态系统如何工作和流动的最好的人,他们应该被授权管理、监视、提出建议和决策,以确保可持续发展和增长。
        你的组织有OSPO吗?


图片

本文章转载自公众号:gh_9a1f3b763efe

首页 - Linux 相关的更多文章: