入错坑可就不好办了,如何评估开源软件的健康状况?

导读:

1、Star人气指标

2、如何评估开源软件的健康状况?

正如开篇《开源正在吞噬世界》中提到的,95%以上的软件系统由开源提供支持,几乎每一个商业软件都可以找到若干开源替代品。开发者在进行技术选型时需要对开源软件进行全面评估,项目是否可以在生产环境中使用,还是仍然处于试验阶段?项目是否正在积极维护和开发,还是已经处于闲置或休眠状态?项目组是否接受 区的建议和贡献?尽管这些问题看起来很明显,但在查看Github的项目库时,最明显的指标是Star数量。

Star人气指标

Star指标,通常说明开源软件受欢迎程度,通过Star历史趋势也能反映项目的发展程度。

Runa是一家开源软件早期投资机构,其编制了ROSS指数跟踪Github上Star年增长率前20名的开源初创公司,虽然Star指标并不是完美的评估指标,但其大致反映了开发人员最关心的OSS产品,该指数每个季度更新一次,2021年Q4的20家开源初创公司如下表所示:

star-history 站(由Bytebase公司提供支持)可以直观展示项目的Star指标及变化趋势,也可以很方方便对比同类开源软件,如下图所示:

如何评估开源软件?

Star人气指标并不足以反映软件的健康状况,那么当我们评估开源软件的目的是什么呢?开发者关心的是在同类开源软件相比该软件是否更优秀,而投资者还关心与同类商业产品相比其是否有竞争力,而竞争力的背后是项目的创新及迭代效率,个人觉得PR和Issue/Discussion是更有效的评价方式。

# PR指标,包括PR数量、PR参与人数及PR生命周期

PR指标反映了 区参与度,PR数量表明软件功能迭代及问题修复的频次,而愿意花时间为项目贡献代码和修复Bug的人员的数量也说明的了项目的价值以及应用的广泛程度,PR的生命周期(PR从开启到关闭的时间)说明项目响应是否及时,如Code Review。

# Issue/Discussion指标,包括Issue/Discussion数量、参与人数及生命周期

Issue/Discussion指标反映了 区的活跃度,Issue或Discussion数量越多,参与人数,以及生命周期越短,则反映 区的的活跃越高。

不过PR和Issue/Discussion指标也可能被滥用,如一些软件通过提交和关闭许多小错误修复作为PR,来增加PR数量及贡献者数量。

如果要对开源软件进行更全面的评估,可以参考CHAOSS(Linux基金会下的一个委员会),其目标是分析开源项目的健康状况和可持续性,发布了相关的指标,并支持两个 区项目Augur和GrimoireLab来落地最佳实践。

本篇是 #商业开源公司 系列的第四篇,对该主题感兴趣的同学可以关注后续更新。

  1. 开源正在吞噬世界
  2. 商业开源软件的演进
  3. 使用开源软件有合规风险?

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月8日
下一篇 2022年3月8日

相关推荐