当前位置: X-MOL 学术Sci. Comput. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Lost in zero space – An empirical comparison of 0.y.z releases in software package distributions
Science of Computer Programming ( IF 1.3 ) Pub Date : 2021-04-09 , DOI: 10.1016/j.scico.2021.102656
Alexandre Decan , Tom Mens

Distributions of open source software packages dedicated to specific programming languages facilitate software development by allowing software projects to depend on the functionality provided by such reusable packages. The health of a software project can be affected by the maturity of the packages on which it depends. The version numbers of the used package releases provide an indication of their maturity. Packages with a 0.y.z version number are commonly assumed to be under initial development, suggesting that they are likely to be less stable, and depending on them may be considered as less healthy.

In this paper, we empirically study, for four open source package distributions (Cargo, npm, Packagist and RubyGems ) to which extent 0.y.z package releases and ≥1.0.0 package releases behave differently. We quantify the prevalence of 0.y.z releases, we explore how long packages remain in the initial development stage, we compare the update frequency of 0.y.z and ≥1.0.0 package releases, we study how often 0.y.z releases are required by other packages, we assess whether semantic versioning is respected for dependencies towards them, and we compare some characteristics of 0.y.z and ≥1.0.0 package repositories hosted on GitHub. Among others, we observe that package distributions are more permissive than what semantic versioning dictates for 0.y.z releases, and that many of the 0.y.z releases can actually be regarded as mature packages. As a consequence, the version number does not provide a good indication of the maturity of a package release.



中文翻译:

零空间丢失–软件包分发中0.yz版本的经验比较

专用于特定编程语言的开源软件包的分发通过允许软件项目依赖于此类可重用软件包提供的功能来促进软件开发。软件项目的运行状况可能会受到其依赖的软件包的成熟度的影响。所使用的软件包发行版的版本号提供了其成熟度的指示。通常认为版本号为0.yz的软件包处于初始开发阶段,这表明它们可能较不稳定,并且取决于它们,可能被认为不那么健康。

在本文中,我们对四个开源软件包发行版(CargonpmPackagistRubyGems)进行了实证研究。)0.yz软件包发行版和≥1.0.0软件包发行版的行为有所不同。我们对0.yz版本的流行程度进行了量化,探讨了软件包在初始开发阶段保留的时间,我们比较了0.yz和≥1.0.0版本的更新频率,我们研究了0.yz版本需要多长时间发布一次。在其他软件包中,我们评估了语义版本控制是否尊重它们的依赖性,并比较了托管在GitHub上的0.yz和≥1.0.0软件包存储库的某些特征。除其他外,我们观察到包分发比语义版本控制规定的0.yz版本更宽松,并且许多0.yz版本实际上可以视为成熟的包。结果,版本号不能很好地表明软件包发行的成熟性。

更新日期:2021-04-16
down
wechat
bug