人们经常问我 “有多少人使用 Dask?”
和任何非侵入式开源软件一样,对此问题的答案是“我不知道”。
有许多可能的指标可以衡量用户数量,例如下载量、GitHub 星标等等,但大多数都是非常不准确的。作为一名试图为其他维护者寻找工作机会的项目维护者,我有动力去采用我能找到的最高数字,但这多少有些不诚实。今天的这个数字是以这个可能不实的说法呈现的。
Dask 每天有 5 万到 10 万次下载。
这个数字来自查看 Python 包索引 (PyPI)(图片来源:pypistats.org)
这是一个巨大的数字,但几乎肯定是误导性的。常识告诉我们,每天不可能有 10 万个新的 Dask 用户。
如果你深入研究这些数字,你会发现它们几乎完全是由于自动化流程。例如,在 Dask 的 10 万新用户中,令人惊讶的是,其中有相当一部分似乎正在运行 Linux。
虽然 Dask 作为分布式库确实经常在 Linux 上运行,但看到该部署中的每台机器都单独 pip 安装 Dask 将是很奇怪的。这些下载更有可能是自动化系统的结果,而不是个人用户。
根据传闻,如果你能获取到更精细的下载数据,你会发现一小组 IP 地址主导着下载量。这些 IP 地址大多来自持续集成服务,如 Travis 和 Circle,来自 AWS,或者来自世界上的一些例外情况(有时在中国有人试图镜像所有东西)。。
因此,为了避免这种影响,我们开始只关注 Windows 下载量。
这里的数据量对我来说似乎更真实。这些月度数字折合每天大约 1000 次下载(OSX 和 Linux 可能乘以二或三),这更符合我的预期。
然而,即使这样也很奇怪。其结构与我的个人经验不符。为什么 2018 年的采用率变化如此之大?2019 年的那个大峰值是什么?根据传闻,维护者并没有注意到那里有用户数量的显著增长。相反,我们经历了随着时间的推移采用率的平稳持续增长(大多数长期软件的增长就是这样)。自 2018 年以来没有持续增长也很奇怪。根据传闻,Dask 在过去几年里一直保持着某种程度的稳定增长。这样的阶段性转变与观察到的现实不符(至少据我个人观察)。
我最喜欢的指标是查看文档的每周独立用户数。
这是对用户数量的高估,因为很多人会查看文档而不使用该项目。这也是对用户数量的低估,因为许多用户不是每周都会查阅我们的文档(我多么希望他们会)。
这种增长模式符合我的预期,也符合我维护一个项目并使其在几年内稳步获得关注的经验。
图表取自 Google Analytics
查看项目的依赖项也很重要。例如,地球科学和地理科学领域的许多用户通过另一个项目 Xarray 使用 Dask。这些用户直接使用 Dask 的可能性要小得多,但通常将 Dask 用作 Xarray 库的基础设施。我们可能应该将 Xarray 用户的一半也计算在内。
图表取自 Google Analytics,由来自 Xarray 的 Joe Hamman 提供
Dask 每天大约有 10 万新用户(下载量统计),或者总共有大约 1 万用户(每周独立 IP)。在我看来,1 万这个数字听起来更可能,由于依赖项的存在,可能还会增加到 1.5 万。但事实是,没人真正知道。
衡量社区维护的开源软件的使用情况非常重要,因为我们试图评估它对社会的影响。这也是一个根本性的难题。我希望这篇博文能帮助强调这些数字可能具有误导性,并鼓励我们所有人更深入地思考如何估算影响。