The (aggregated) history of every R package ever
20 min · developers, maintainers of software distribution systems
[CRAN](https://cran.r-project.org) represents and curates a complex software ecosystem of over 25,000 packages. This ecosystem constantly evolves as packages are submitted, updated, and archived. We analysed the development of CRAN over its entire lifetime, both in terms of package inter-dependencies and the internal structures of every version of every package. These analyses used the "[pkgstats](https://docs.ropensci.org/pkgstats)" tool for static code analysis, developed by [rOpenSci](https://ropensci.org), to analyse the statistical properties of every version of every CRAN package. Statistics measured by "[pkgstats](https://docs.ropensci.org/pkgstats)" include metadata on authorship and licenses; message translations; numbers of files, functions, lines of code, and lines of documentation; analyses of function calls both within a package and to functions defined in external packages; package dependency networks; and many other aspects. All of these statistics were analysed both over the entirety of CRAN on every day of its evolution, and on every package across sequential releases. Results reveal a contrast between the collective evolution of CRAN, and the evolution of individual packages. The CRAN ecosystem is becoming less stable because of an increasing dominance of new packages, yet this is counter-balanced by an increase in stability through individual packages becoming more mature. Balancing these confounding effects emerges as a key aspect of maintaining the stability of the complex software ecosystem of CRAN.
Given 1x
useR 2026 Conference Warsaw · Jul 2026 · Warsaw, Mazovia, Poland · Presenter · In person
🇵🇱