An Empirical Investigation of Forks as Variants in the npm Package Distribution
Loading...
Date
2020
Journal Title
Journal ISSN
Volume Title
Publisher
BENEVOL
Abstract
Software developers often need to create variants to
accommodate different customer segments. These variants have
a common code base but also comprise variant-specific code. A
common strategy to create a variant is to clone&own (or fork)
an existing repository and then adapt it to the new requirements.
This form of reuse has been enhanced with the advent of socialcoding
platforms such as GitHub, and package distribution platforms
like npm. GitHub offers facilities for forking, pull requests,
and cross-project traceability. npm offers facilities for managing
package release dependencies and dependents on the distribution
platform. Little is known about the maintenance practices of the
variants. We therefore performed an exploratory investigation
on the evolution of variants, focusing on their technical aspects.
We collected variants from the JavaScript ecosystem, whose
sources are hosted on GitHub, and whose packages are released
on npm. We have identified a total 12,813 variant forks from the
JavaScript ecosystem. In general, we observed that mainlines
have more number of package releases, package dependencies,
dependent packages and dependent projects compared to their
variant counterparts. However, it is still interesting that some
variants have quite a considerable number of package releases
and dependent packages/projects; in a some cases even more than
their mainline counterparts.
Description
Keywords
Software variants, npm, Depandencies, Software ecosystems
Citation
Businge, J., Decan, A., Zerouali, A., Mens, T., & Demeyer, S. (2020). An Empirical Investigation of Forks as Variants in the npm Package Distribution. In BENEVOL.