Badges on npm Packages

How can open source contributors figure out if a project is worth their time? How can maintainers attract more contributors? Just how useful are badges? We want to find out.

SC Faculty and Researchers

Bogdan Vasilescu

Christian Kästner

Based on our collected data, npm had over 500,000 available packages as of July 2017. Open source development is massively distributed with little central coordination and disparate practices. Developers often work in the context of a software ecosystem, a complex sociotechnical network of interdependent components, libraries, and plugins, many providing similar functionality. How do contributors determine if a project is worth contributing to? How do users determine which component best suits their needs?

The transparency provided by social coding platforms like GitHub is essential to such decision making. Developers infer the quality of projects by using visible cues, known as signals, collected from personal profile and repository pages.

Signaling Theory

Badges are a type of signal, since they provide information on qualities such as build status, dependency security, and openness to contributions that are otherwise not easily perceivable. That is, badges make certain information about a project's code base or practices more transparent.

We study badges in the context of signaling theory, which is concerned with the reliability of signals. Can you expect that a project is more likely to write tests if they display a quality assurance (e.g., continuous integration) badge? Is a project actually more likely to keep its dependencies up-to-date if it displays a dependency management badge?

This is called signal fit — to what extent do signals (badges) correspond to the quality they are meant to signal?

We are concerned with two types of signals:

  • conventional signals, which simply provide information or a statement of intent;
  • assessment signals, which are associated with a third-party service that computes some property of the project (such as test coverage).

Learn More About This Project