Measuring the impact of open-source projects can be misleading when relying solely on GitHub stars.
In the world of open-source software, GitHub has become the de facto platform for developers to showcase their projects, collaborate with others, and build communities around their code. With over 100 million users and 40 million repositories, GitHub is the largest gathering of developers on the planet. But beneath its surface lies a complex economy driven by GitHub stars, a metric that has become a badge of honor for developers and a coveted prize for project maintainers. The question is, do GitHub stars truly reflect real adoption, or are they merely a vanity metric?
GitHub stars have become a widely accepted measure of a project's popularity and success. They are easy to obtain, requiring just a single click on a project's GitHub page. As a result, stars have become a sought-after commodity, with many developers and projects actively courting them. This has given rise to a stars economy, where projects are optimized for maximum star accumulation, often at the expense of more meaningful metrics.
Consider the case of react, the popular JavaScript library maintained by Facebook. With over 183,000 stars, it's one of the most starred projects on GitHub. But what does this number really tell us? Does it reflect the project's actual adoption, or is it simply a result of its popularity and the large community around it?
The problem with GitHub stars is that they can be easily gamed. A project can accumulate thousands of stars overnight through a single viral tweet or a well-timed blog post. This can create a false narrative about a project's adoption and popularity. As Lincoln Loop founder, Isaac Schlueter, once said:
"The number of GitHub stars a project has is not a good indicator of its success or adoption. It's a vanity metric, plain and simple."
In contrast, metrics like npm downloads, Docker pulls, or GitHub commits provide a more accurate picture of a project's actual adoption and usage. For example, lodash, a popular JavaScript utility library, has around 30,000 stars on GitHub. However, according to npm statistics, it has over 40 million weekly downloads, indicating a much larger and more active user base.
The pursuit of GitHub stars has also led to some unsavory practices. Some project maintainers have resorted to star-begging, openly soliciting stars on their project's GitHub page or through social media. Others have engaged in star-bribing, offering incentives or rewards in exchange for stars. This kind of behavior undermines the integrity of the stars economy and creates an uneven playing field for projects that focus on delivering high-quality code and features.
So, what can we use instead of GitHub stars to measure a project's success and adoption? A more nuanced approach would consider a range of metrics, including:
By considering these metrics, we can get a more accurate picture of a project's success and adoption. As GitHub co-founder, Tom Preston-Werner, once said:
"The best way to measure the success of an open-source project is not by its GitHub stars, but by its impact on the community and the problems it solves."
The GitHub stars economy has created a culture where projects are optimized for maximum star accumulation, often at the expense of more meaningful metrics. While GitHub stars can provide a rough estimate of a project's popularity, they are a vanity metric that does not reflect real adoption. As the open-source ecosystem continues to evolve, it's essential to adopt a more nuanced approach to measuring project success, one that considers a range of metrics and prioritizes community engagement, adoption, and impact. Only then can we truly understand the value and significance of open-source projects and the communities that build and use them.