Free Open Source Communities Sustainability: Does It Make a Difference in Software Quality?
收藏资源简介:
Context: Free and Open Source Software (FOSS) communities' ability to stay viable and productive over time is pivotal for society as they maintain the building blocks that digital infrastructure, products, and services depend on. Sustainability may, however, be characterized from multiple aspects, and less is known how these aspects interplay and impact community outputs, and software quality specifically. Objective: This study, therefore, aims to empirically explore how the different aspects of FOSS sustainability impact software quality. Method: 16 sustainability metrics across four categories were sampled and applied to a set of 217 OSS projects sourced from the Apache Software Foundation Incubator program. The impact of a decline in the sustainability metrics was analyzed against eight software quality metrics using Bayesian data analysis, which incorporates probability distributions to represent the regression coefficients and intercepts. Results: Findings suggest that selected sustainability metrics do not significantly affect defect density or code coverage. However, a positive impact of community age was observed on specific code quality metrics, such as risk complexity, number of very large files, and code duplication percentage. Interestingly, findings show that even when communities are experiencing sustainability, certain code quality metrics are negatively impacted. Conclusion: Findings imply that code quality practices are not consistently linked to sustainability, and defect management and prevention may be prioritized over the former. Results suggest that growth, resulting in a more complex and large codebase, combined with a probable lack of understanding of code quality standards, may explain the degradation in certain aspects of code quality.
背景:自由与开源软件(Free and Open Source Software, FOSS)社区长期保持活力与生产力的能力对社会至关重要,因其维系着数字基础设施、各类产品与服务赖以依存的基础组件。然而,可持续性可从多个维度加以界定,目前学界对这些维度如何相互作用并影响社区产出、尤其是软件质量的认知仍较为匮乏。 研究目标:据此,本研究旨在实证探讨自由与开源软件可持续性的不同维度对软件质量的影响。 研究方法:本研究从四大类别中选取16项可持续性指标,将其应用于取自Apache软件基金会孵化器项目的217个开源软件(Open Source Software, OSS)项目样本。研究采用贝叶斯数据分析方法,通过概率分布表征回归系数与截距项,分析了可持续性指标下滑对八项软件质量指标的影响。 研究结果:结果表明,所选可持续性指标对缺陷密度与代码覆盖率无显著影响。不过,社区存续时长对特定代码质量指标存在正向影响,例如风险复杂度、超大型文件数量以及代码重复率。值得注意的是,研究发现即便社区处于可持续发展状态,部分代码质量指标仍会受到负面影响。 研究结论:本研究结果显示,代码质量实践与可持续性之间并无稳定的关联,缺陷管理与防控或应优先于代码质量实践。研究还表明,代码库因扩张变得更为复杂且规模更大,加之可能缺乏对代码质量标准的认知,或可解释部分代码质量维度出现退化的原因。



