Table of Contents
Fetching ...

Contributing Back to the Ecosystem: A User Survey of NPM Developers

Supatsara Wattanakriengkrai, Christoph Treude, Raula Gaikovina Kula

TL;DR

This study analyzes Stack Overflow data for Maven, npm, and NuGet to characterize package management (PM) issues and the information end-users need to resolve them. It employs a two-part approach: qualitative coding of 1,131 PM-related questions to identify issue types ($RQ_1$) and underlying causes ($RQ_2$), and a mixed-method analysis including attribute annotation and association-rule mining to examine resolution patterns ($RQ_3$, $RQ_4$). The findings show that How-to and Error questions dominate PM discussions, with tool usage as the main underlying cause across ecosystems; only about 40–49% of PM issues receive accepted answers, indicating limited resolution. External links to official docs or GitHub resources are the most common information in accepted answers, suggesting routes for tooling to surface relevant guidance. Overall, the work highlights opportunities to improve PM tooling, error messaging, and documentation to improve ecosystem sustainability and developer experience.

Abstract

With the rise of the library ecosystem (such as NPM for JavaScript and PyPI for Python), a developer has access to a multitude of library packages that they can adopt as dependencies into their application.Prior work has found that these ecosystems form a complex web of dependencies, where sustainability issues of a single library can have widespread network effects. Due to the Open Source Software (OSS) nature of third party libraries, there are rising concerns with the sustainability of these libraries. In a survey of 49 developers from the NPM ecosystem, we find that developers are more likely to maintain their own packages rather than contribute to the ecosystem. Our results opens up new avenues into tool support and research into how to sustain these ecosystems, especially for developers that depend on these libraries. We have made available the raw results of the survey at \url{https://tinyurl.com/2p8sdmr3}.

Contributing Back to the Ecosystem: A User Survey of NPM Developers

TL;DR

This study analyzes Stack Overflow data for Maven, npm, and NuGet to characterize package management (PM) issues and the information end-users need to resolve them. It employs a two-part approach: qualitative coding of 1,131 PM-related questions to identify issue types () and underlying causes (), and a mixed-method analysis including attribute annotation and association-rule mining to examine resolution patterns (, ). The findings show that How-to and Error questions dominate PM discussions, with tool usage as the main underlying cause across ecosystems; only about 40–49% of PM issues receive accepted answers, indicating limited resolution. External links to official docs or GitHub resources are the most common information in accepted answers, suggesting routes for tooling to surface relevant guidance. Overall, the work highlights opportunities to improve PM tooling, error messaging, and documentation to improve ecosystem sustainability and developer experience.

Abstract

With the rise of the library ecosystem (such as NPM for JavaScript and PyPI for Python), a developer has access to a multitude of library packages that they can adopt as dependencies into their application.Prior work has found that these ecosystems form a complex web of dependencies, where sustainability issues of a single library can have widespread network effects. Due to the Open Source Software (OSS) nature of third party libraries, there are rising concerns with the sustainability of these libraries. In a survey of 49 developers from the NPM ecosystem, we find that developers are more likely to maintain their own packages rather than contribute to the ecosystem. Our results opens up new avenues into tool support and research into how to sustain these ecosystems, especially for developers that depend on these libraries. We have made available the raw results of the survey at \url{https://tinyurl.com/2p8sdmr3}.
Paper Structure (12 sections, 3 figures, 4 tables)

This paper contains 12 sections, 3 figures, 4 tables.

Figures (3)

  • Figure 1: An example of a PM-related issue that provides an exemplary overview of the elements analyzed in our study. RQ$_1$ and RQ$_2$ analyze the issue type and underlying cause from the PM-related post text. Finally, RQ$_3$ and RQ$_4$ analyze the relationship between the PM-related question and the accepted answer posts.
  • Figure 2: Percentage of PM issues by question coding compared to Treude et al. treude2011programmers. Result shows that 'How-to' and 'Error' messages are the most dominant issue faced by end-users.
  • Figure 6: Percentage of PM issues by their underlying cause. I find that 'Package management tool usage' is the most dominant underlying cause.