如果您想使用指标来跟踪您的自由和开源软件(FOSS)社区。现在我面临一个问题:我应该追踪哪些指标? 要回答这个问题,你必须知道你需要什么信息。例如,您可能想了解项目社区的可持续性。社区对问题的响应速度。社区如何吸引、维持或失去贡献者。一旦您知道您需要什么样的信息,您就可以找出哪些社区活动提供了您想知道的信息。幸运的是,自由开源软件(FOSS)遵循开放的开发模式,并在其软件开发仓库中留下了大量的公共数据。我们可以对这些数据进行分析,从中收集一些有用的数据。 在这篇文章中,我将介绍一些指标,以提供项目社区的多方面视图。 1。社区活动(活动) 社区的整体活动以及该社区如何随时间演变是衡量所有社区好坏的非常有用的指标。社区活动是评价一个社区工作量的最佳印象,也可以用来跟踪不同种类的活动。比如提交次数,给人的印象最好是和开发工作量挂钩。通过issues(开的工单)我们可以大致知道提交了多少bug或者提出了多少新特性。邮件列表或论坛帖子的数量可以让我们了解有多少公开讨论。 OpenStackeventboard展示项目代码提交数量和代码审查后代码合并数量随时间变化的趋势图(每周数据) 2.社群规模(Size) 社群规模指的是参与度来到这个社群的人数,根据不同的参与形式,会有很大的差异。好消息是通常您只对活跃的贡献者感兴趣。活跃的贡献者在项目的存储库中留下线程。这意味着您可以通过查看存储在git存储库中的代码中的作者字段来统计积极贡献代码的人数,或者通过查看积极参与解决问题的人数来统计活跃人数。 所谓活动(某人做了某事)可以延伸到很多方面。跟踪活动的一种常见方法是查看有多少人完成了具有相当大工作量的任务。例如,项目的代码贡献者通常是来自项目社区的一小群人。了解这一小群人可以让您对核心工作组(即谁领导社区)有一个基本的了解。 Xen项目开发看板展示了项目邮件列表上的作者和提交者数量随时间变化的趋势(月度数据) 3.社区绩效(Performance) 统计活动次数和贡献者人数。您还可以分析流程以及用户的执行情况。例如,您可以测量完成一个过程需要多长时间。解决或关闭问题的时间可以表明项目对需要及时响应的新信息的响应程度,例如修复报告的错误或实施新要求。花在代码审查上的时间,即从提交代码修改到批准代码的时间,显示了更新提议的更改以满足社区期望所需的时间。 其他指标主要与项目处理未决工作的程度有关,例如新问题和已关闭问题的比率,或仍未完成的代码审查队列。这些参数可以告诉我们诸如用于解决这些问题的资源是否充足之类的信息。 如OpenStack2015年第三季度发展报告所示,每季度已关闭和未解决问题数量的比率,接受和放弃的变更提案与最先进的变更提案的比率4.社区人口统计(Demographics) 社区随着贡献者的加入或退出而不断变化。随着人们加入和离开社区,社区成员的年龄(从社区成员加入时开始计算)也会发生变化。社区成员年龄统计图表直观地显示了这些随时间的变化。该图由一系列水平条组成,其中两个水平条分别代表加入社区的一代人。对于每一代人,Attracted水平条表示当时有多少人加入了社区。Retained水平条表示当前社区中仍有多少人活跃。 代表一代的两个水平条之间的关系是保留率:该一代仍在程序中的分数。一整套Attracted水平条表示该项目过去的受欢迎程度。一组完整的Retained横条表示社区当前的成员年龄结构。 EclipseDevelopmentDashboard上显示的Eclipse社区的社区年龄图表。每六个月定义 5.社区多样性(Diversity) 多样性是一个社区保持韧性的关键因素。一般来说,一个社区越多样化(所涉及的人员或组织的多样性),该社区的弹性就越大。例如,如果一个公司决定离开一个自由开源的社区,那么公司员工贡献5%所带来的潜在问题要比贡献85%的员工小得多。 PonyFactor(小马因子),是DanielGruno为“最少的开发者贡献了50%的代码提交”这一现象定义的术语。基于小马因子,大象因子(ElephantFactor)是指员工贡献代码提交量50%的最少公司。这两个数字表明社区依赖了多少人或公司。 2015年发展云量状态统计显示了云计算领域几个免费开源社区项目的小马和大象因素 还有很多其他指标可以衡量一个社区。在决定收集哪些指标时,请考虑您社区的目标以及哪些其他指标可以帮助您。
