Measuring success on GitHub can be misleading, as stars often don't translate to real-world adoption or use of a project.
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. With over 40 million users and more than 100 million repositories, GitHub has created a new economy around code sharing and collaboration. One of the most coveted metrics in this economy is the humble GitHub star. But are GitHub stars a vanity metric, or do they truly reflect real adoption and community engagement?
For many developers, GitHub stars have become a badge of honor, a symbol of their project's popularity and influence. The more stars a project accumulates, the more likely it is to attract new users, contributors, and investors. As GitHub's own data suggests, projects with more stars tend to have more contributors, more forks, and more issues opened. However, this correlation does not necessarily imply causation. In other words, having more stars does not automatically lead to more engagement; rather, it's often a result of existing engagement.
"The number of GitHub stars a project has is often seen as a measure of its success, but this can be misleading. A project can have a large number of stars without necessarily having a large and active community." - GitHub's State of the Octoverse 2020 report
Some projects have mastered the art of accumulating GitHub stars. For instance, tensorflow has over 150,000 stars, while react has over 180,000. These numbers are impressive, but do they truly reflect the projects' adoption and usage? A closer look at the data reveals that a small percentage of projects account for a large percentage of all GitHub stars. According to GitHub's 2020 survey, the top 1% of projects have more than 10,000 stars, while the bottom 90% have fewer than 10 stars.
The pursuit of GitHub stars has created a culture of stargazing – where developers focus on accumulating stars rather than building meaningful projects. This phenomenon has led to the rise of star-botting, where individuals or groups artificially inflate a project's star count using automated scripts or paid services. In 2019, GitHub cracked down on accounts buying and selling GitHub stars, highlighting the issue's severity.
"Star-botting is a symptom of a larger problem – the obsession with vanity metrics. As a community, we need to focus on what truly matters: building great software, fostering collaboration, and driving innovation." - Ryan @ry from GitHub
So, what metrics truly reflect a project's adoption and community engagement? Forks, watchers, and contributors provide a more comprehensive picture of a project's health and popularity. For instance, a project with 1,000 forks and 100 contributors is likely more engaged than a project with 10,000 stars but only a handful of contributors.
Companies like npm and GitLab have begun to emphasize these metrics, providing more nuanced insights into a project's adoption and community dynamics. As npm's @isaacs notes, "Downloads and dependents are great metrics, but they're not the only ones. We should also look at contributors, issues, and pull requests to get a complete picture."
As the open-source ecosystem continues to evolve, it's essential to rethink the role of GitHub stars in the developer economy. Rather than focusing solely on accumulating stars, developers should prioritize building meaningful projects, fostering collaboration, and driving innovation. By doing so, we can create a more inclusive, diverse, and vibrant open-source community.
"The true value of GitHub stars lies not in their absolute number, but in the connections and collaborations they facilitate. Let's focus on building a community that's more than just a collection of stars." - GitHub's @mislav
As we move forward, we can expect to see new metrics and models emerge, providing a more accurate representation of a project's impact and community engagement. For now, it's essential to maintain a critical perspective on GitHub stars, recognizing both their benefits and limitations. By doing so, we can create a more nuanced understanding of the open-source ecosystem and build a brighter future for developers and the projects they love.
The GitHub star economy is a complex and multifaceted phenomenon, reflecting both the best and worst of the open-source community. While stars can provide a useful indicator of a project's popularity, they should not be the sole metric for evaluating success. As developers, we must prioritize building meaningful projects, fostering collaboration, and driving innovation. By doing so, we can create a more inclusive, diverse, and vibrant open-source community – one that's more than just a collection of stars.