导读:
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来落地最佳实践。
本篇是 #商业开源公司 系列的第四篇,对该主题感兴趣的同学可以关注后续更新。
- 开源正在吞噬世界
- 商业开源软件的演进
- 使用开源软件有合规风险?
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!