内部治理的运营工作

版本火车的概念

开源软件的引入和退出

开源社区的版本发布,通常的规律是:在发布正式版本之前,会发布一些预览版或beta版,例如:1.0-beta之后,才是1.0,然后是1.0.1。

在1.1发布之后,1.0.2、1.0.3这样的1.0.x版本可能还会发布一段时间。

从开源软件选型的角度来说:我们不应该选择太新的版本,因为还不稳定。也不应该选择太老的版本,因为可能已经不再有人维护了。

一个比较常见的策略是:我们会在1.0版本正式发布后一段时间,观察稳定之后,再选择使用【引入】。并在2~3年之后,决定不再使用【退出】。


用版本火车管理多款软件的生命周期

在社区里的开源软件,有多个软件的多个版本,可供选择。例如:A 1.0、 A 1.1;B 1.2、B 1.3;C 2.0、C 2.1

在公司内部有多个产品,都会有各自的开源软件选型过程。例如:上半年(P1 1.0、P2 2.0、P3 2.1),下半年(P1 1.1、P2 2.1、P3 2.2)

在一个时间周期内,这些产品需要共同协商自己的开源软件选型,并确定一组选型版本。例如: A 1.0、B 1.2、C 2.1。这就被称为一趟版本火车(版本火车 202201)。

在这趟版本火车上,P1、P2、P3这样的产品,上半年(P1 1.0、P2 2.0、P3 2.1)就都上版本火车 202201。到了下半年,就都上版本火车 202202。


开源软件Owner的职责

在公司内部,需要分配不同的专人,负责看护不同的开源软件。这些人就被称为开源Owner。他们的职责包括:

  • 开源软件选型:
    • 对标社区,定期对产品单向发布开源版本火车,负责版本火车中的开源软件的选型。
    • 负责将版本火车中的开源软件录入中心仓,并维护其开源元数据信息。
  • 开源软件维护:
    • 跟随社区,通过升级社区版本、或回合漏洞补丁修复开源软件漏洞。
    • 看护公司内部的开源软件定制版本,批准新增维护分支的申请。
    • 对开源软件的定制化修改由产品自行负责维护,并回馈至社区。

运营工作的分类

  • 开源软件统一上中心仓
  • 元数据质量维护
  • 版本火车定期发车
  • 推动漏洞治理
  • 推动法务合规
  • Owner能力提升
  • 开源文化建设