流行度衡量一个仓库在 GitHub 本身获得的采用与关注:星标(stars)、复刻(forks)与关注者(watchers)。与真实的安装数据相比,关注度是较弱的证据——但它具有普适性(每个仓库都有,无论是否发布软件包),且与能够察觉问题的社区规模相关。
- 类别:社区与采用(类别内占 40%)
- 在总指数中的权重:7.2%
- 指标键名:
popularity
数值如何计算
三个组成部分均按对数尺度计算——每个数量级的意义大致相当,因此 50 到 500 个星标之间的差距,与 500 到 5,000 之间的差距分量相近。
| 组成部分 | 权重 | 饱和点约为 |
|---|---|---|
| 星标 | 60 | 约 5,000 |
| 复刻 | 25 | 约 1,000 |
| 关注者 | 15 | 约 500 |
计数为 1 或 2 不得分——单个星标或复刻属于噪声而非采用——因此各组成部分从 3 起才开始计分。
星标与复刻是可以买到的
它们是模型中仅有的没有签发方的输入,且被公开批量售卖。当仓库已收集的逐日历史显示出自然关注不会产生的增长时, 非自然增长政策会折减星标与复刻这两个组成部分——一次已确认的爆发折减 40%,更多则折减 70%。关注者不受影响,干净的历史绝不会提高数值,而历史无法回答该问题的仓库完全不被扣分。
为何采用对数尺度
线性尺度会让该指标沦为名气的代理变量,被少数超大型项目主导,对比较其余一切毫无用处。对数尺度压缩顶部、拉伸中部,而大多数真实的依赖决策正是在中部做出的。饱和点意味着超过约 5,000 星标之后,额外的关注不再增加分值——该指标已经回答了它的问题。
如何解读结果
- 流行度是采用证据中最弱的形式。星标只增不减,旧日的关注会长期滞留。当项目发布软件包时,生态采用—— 真实的下载量——是更强的信号,类别权重也体现了这一层级关系。
- 复刻承载独立的信息:它表明有人在实际使用这些代码,而不只是收藏书签。
- 流行度低并非缺陷。年轻或小众的项目在此项天然偏低;该指标仅占总指数的 7.2%,正是为了让质量与治理方面的证据能够胜过名气。
提升数值
不存在直接的手段,而这正是有意为之——关注度随实用性而来。持久的路径与社区与采用的整体建议一致:让项目易于发现、易于采用、易于贡献,并发布到其用户已经聚集的地方。