The widespread use of GitHub among software developers as a communal platform for coordinating software development has led to an abundant supply of publicly accessible data. Ever since the inception of Bitcoin, blockchain teams have incorporated the concept of open source code as a fundamental principle, thus making the majority of blockchain-based projects' code and version control data available for analysis. We define health in open source software projects to be a combination of the concepts of sustainability, robustness, and niche occupation. Sustainability is further divided into interest and engagement. This work uses exploratory factor analysis to identify latent constructs that are representative of general public interest or popularity in software, and software robustness within open source blockchain projects. We find that interest is a combination of stars, forks, and text mentions in the GitHub repository, while a second factor for robustness is composed of a criticality score, time since last updated, numerical rank, and geographic distribution. Cross validation of the dataset is carried out with good support for the model. A structural model of software health is proposed such that general interest positively influences developer engagement, which, in turn, positively predicts software robustness. The implications of structural equation modelling in the context of software engineering and next steps are discussed.
翻译:开发者在GitHub这一社区平台上的广泛协作,使得大量公开可访问的软件数据得以积累。自比特币诞生以来,区块链团队始终将开源代码作为基本原则,这使得大多数基于区块链的项目代码及版本控制数据均可用于分析。我们将开源软件项目的健康定义为可持续性、稳健性与生态位占据三个维度的组合,其中可持续性进一步细分为兴趣与参与度。本研究采用探索性因子分析法,识别可代表开源区块链项目中公众兴趣/流行度及软件稳健性的潜在构念。研究发现,兴趣由GitHub仓库中的星标数、分叉数及文本提及量构成,而稳健性因子则由关键性评分、最近更新时间、排名数值及地理分布组成。基于数据集的交叉验证结果良好地支持了该模型。我们提出了软件健康的结构模型:公众兴趣正向影响开发者参与度,进而正向预测软件稳健性。最后,本文讨论了结构方程模型在软件工程领域的应用意义及后续研究方向。