[论文解读] On the Popularity of GitHub Applications: A Preliminary Note
本文提出一个框架,通过星标数量评估GitHub软件的流行度,并基于星标数量的长期趋势识别出四种增长模式——可持续、快速、缓慢和病毒式。研究发现星标数与分支数、客户端使用量之间存在强相关性(例如,与NPM依赖数的Spearman等级相关系数为0.68),验证了星标数作为流行度指标的可靠性,其中JavaScript主导了最受欢迎的代码仓库。
GitHub is the world's largest collection of open source software. Therefore, it is important both to software developers and users to compare and track the popularity of GitHub repositories. In this paper, we propose a framework to assess the popularity of GitHub software, using their number of stars. We also propose a set of popularity growth patterns, which describe the evolution of the number of stars of a system over time. We show that stars tend to correlate with other measures, like forks, and with the effective usage of GitHub software by third-party programs. Throughout the paper we illustrate the application of our framework using real data extracted from GitHub.
研究动机与目标
- 开发一个用于评估GitHub上托管的开源软件流行度的框架。
- 基于星标数量的变化,定义并分类流行度随时间演变的特定增长模式。
- 通过与分支数和客户端使用量的相关性分析,验证星标数作为真实世界流行度代理指标的可靠性。
- 分析不同编程语言在热门及非常热门代码仓库中的分布情况。
- 为开发者和用户提供有关追踪软件采用率和成熟度的可操作洞察。
提出的方法
- 将‘热门’定义为星标数排名前10%的仓库(2015年5月1日时≥1,459颗星),‘非常热门’定义为前1%(≥19,570颗星)。
- 使用以2为底的对数秩变换对星标排名进行归一化处理,以减少高影响力仓库的偏态分布。
- 基于秩的变动对增长模式进行分类:可持续增长(|R_BOTTOM - R_TOP| < 0.25)、快速增长、缓慢增长和病毒式增长,使用52周的历史数据。
- 通过NPM API(用于Node.js模块)将星标数与分支数及客户端使用量进行相关性分析,以验证流行度指标。
- 分析GitHub在2015年5月1日的数据快照中,涵盖24种主流编程语言的24,000个仓库。
- 应用统计方法,包括Spearman等级相关系数,以评估流行度指标之间的关系。
实验结果
研究问题
- RQ1我们如何系统性地利用星标数量趋势对GitHub仓库的流行度进行分类?
- RQ2在GitHub上的开源软件中,主导的流行度增长模式(如可持续、病毒式)有哪些?
- RQ3星标数与分支数和客户端使用量等其他指标的相关性有多高?
- RQ4哪些编程语言主导了GitHub上最热门和非常热门的仓库?
- RQ5星标数是否可以作为GitHub托管软件真实世界使用和采纳情况的可靠代理指标?
主要发现
- JavaScript主导了最受欢迎的GitHub仓库,占非常热门系统的35%和所有热门系统的46%。
- 22%的热门系统(共466个,占2,138个)表现出可持续增长,一年内保持稳定排名。
- 5%的热门系统表现出快速增长,不足1%表现出缓慢增长,另有37个系统表现出病毒式增长模式。
- 对于NPM上的Node.js库,星标数与依赖数(客户端)之间存在显著正相关性(Spearman等级相关系数 = 0.68)。
- 星标数与分支数显著相关,进一步证实其作为流行度指标的有效性。
- 排名前三的仓库——twbs/bootstrap、angular/angular.js和mbostock/d3——拥有最高的星标数,均超过100,000颗星。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。