There is a newer version of the record available.

Published May 6, 2022 | Version v1

Crossing Borders? On the Synchronicity of Third-party Libraries across Software Ecosystems

Authors/Creators

Description

With an increase in the diversity of technology stacks and third-party library usage, developers may inevitably need to switch programming languages when developing an application. To assist developers, maintainers are now expanding their support by releasing their libraries to multiple technologies (i.e., cross-ecosystem library). As Open Source Software (OSS), these libraries may require sustained contributions, especially when synchronizing across ecosystems. The goal of this study is to evaluate the extent to which a cross-ecosystem library synchronizes between different ecosystems. We perform a large-scale empirical study of 1.1 million libraries from five different software ecosystems (i.e., PyPI for Python, CRAN for R, Maven for Java, RubyGems for Ruby, and NPM for JavaScript). We find that a significant majority (median of 37.5%) of contributors come from a single ecosystem, with a portion being independent (median of 24.06%). Three (PyPI, CRAN, RubyGems) out of the five ecosystems show the majority of the source code is written using languages that are not specific to an ecosystem. Except for the Maven related cross-ecosystem library, there is a significant difference in semantic versioning (median of 71.43% to 83.33% ) across releases. In addition, the release cycle is library dependent, with a trend of 2 to 15 months between releases. Insights from this study lay the groundwork and open up new opportunities for how the ecosystem can utilize these libraries.

Files

Maven_New.csv

Files (104.0 MB)

Name Size
md5:a0f83b5e33c0f81d97de4d80a44082e4
9.4 MB Preview Download
md5:5547555a82fb7dd60aa239e511fd3b4f
94.6 MB Preview Download