Downloads provided by UsageCounts
With the popularity of software ecosystems, the number of open source components (a.k.a. “packages”) has been growing rapidly. Identifying high-quality and well-maintained packages from a large pool of packages to depend on is a basic and important problem, as it is beneficial for various applications, such as package recommendation, package search, etc. However, there is no systematic and comprehensive work so far that focuses on addressing this problem except in online discussions or in informal literature and interviews. To fill this gap, in this paper, we conduct a mixed qualitative and quantitative analysis to understand how developers identify and select relevant open source packages. In particular, we start by surveying 118 JavaScript developers from the npm ecosystem to qualitatively understand the factors that make a package to be highly-used within the ecosystem. The survey results show that JavaScript developers believe that highly-used packages are well-documented, receive a high number of stars on GitHub, have a large number of downloads, and do not suffer from vulnerabilities. Then, we conduct an experiment to quantitatively validate the developers' perception of the factors that make a highly-used package. In this analysis, we collect and mine historical data from 2,427 packages divided into highly-used and low-used packages. For each package in the dataset, we collect quantitative data to present the factors studied in the developers' survey. Next, we use regression analysis to quantitatively explain which of the studied factors are the most important. Our regression analysis support developers' believe about highly-used packages. In particular, the results show that highly-used packages tend to be impacted by the number of downloads, stars, and how larger is readme file of the package.
highly-used packages, Package quality, Software ecosystem, npm
highly-used packages, Package quality, Software ecosystem, npm
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 4 | |
| downloads | 17 |

Views provided by UsageCounts
Downloads provided by UsageCounts