生态采用衡量一个软件包实际被安装的广泛程度,数据直接取自软件包注册表本身——npm、PyPI、Packagist、crates.io、RubyGems、Hex 以及其他受支持的生态系统。作为采用证据,真实的下载量胜过 GitHub 星标:下载量度量使用,星标度量关注。
- 类别:社区与采用(类别内占 25%)
- 在总指数中的权重:4.5%
- 指标键名:
ecosystem_adoption - 适用范围:至少发布一个软件包的仓库;否则为
null
数值如何计算
| 组成部分 | 权重 | 判定标准 |
|---|---|---|
| 月度下载量 | 80 | 对仓库全部软件包求和,对数尺度——约 1,000,000/月达到饱和 |
| 累计下载量 | 80 | 注册表不发布月度数字时的回退方案(如 RubyGems);对数尺度,历史累计约 50,000,000 达到饱和 |
| 注册表被依赖数 | 20 | 对数尺度;仅部分生态提供,其余情况下排除 |
下载量组成部分在有月度数字时使用月度数字,否则使用历史累计—— 注册表提供哪一项就用哪一项,因此没有任何生态在结构上处于劣势。
公平性规则
- 不发布软件包的仓库不会被扣分。不向任何注册表交付内容的应用与基础设施项目在此项为
null, 社区与采用类别将权重重新归一化到其余指标之上。 - 软件包必须指回仓库。只有当注册表条目的元数据可验证地引用了被检验的仓库时,该软件包才被计入;不匹配的软件包会列入报告,但排除在计算之外。
- 对数尺度使该指标在整个区间内保持意义——一个软件包从每月 1,000 次下载增长到 10,000 次,与从 100,000 次增长到 1,000,000 次的移动幅度相同。
如何解读结果
- 在其类别内,这是可获得的最强采用证据——强于 流行度,这也是为何一个下载量巨大但星标平平的软件包,读数可以超过一个声名显赫的软件包。
- 各注册表的下载数字含义不尽相同(镜像、CI 流量);对数尺度吸收了其中大部分噪声,且每份报告都会回显精确的输入以供查验。
提升数值
- 将软件包发布到其生态的注册表,并保持软件包元数据中的仓库链接准确。
- 除此之外,下载量随真实使用而来——诚实的抓手是项目的有用性与可发现性,而非指标本身。