GitHub Stars vs. Watches: Analyzing Repository Popularity

GitHub has become the epicenter of the open source software world. With over 200 million repositories and 83 million developers [1], the sheer volume of code and collaboration happening on the platform is staggering.

For any public repository on GitHub, two of the most visible engagement metrics are stars and watches. While similar on the surface, starring and watching a repo are quite different actions that provide distinct signals about a project‘s popularity and momentum.

In this post, we‘ll take a data-driven deep dive into starring versus watching behavior across repositories on GitHub. We‘ll analyze the most starred and most watched repos to surface key trends. And as an AI/ML practitioner, I‘ll share my perspective on what makes certain machine learning projects especially popular based on these metrics.

Starring vs. Watching a Repo

First let‘s define these two forms of engaging with a repository on GitHub:

Starring a repo is basically a way to bookmark it for later while also giving a hat tip to the project maintainers. When you star a repo, it gets added to your personal list of starred repos that shows up on your GitHub profile. However, starring doesn‘t subscribe you to ongoing notifications about project activity.

Watching a repo, on the other hand, is a way to keep tabs on a project and selectively subscribe to updates about new issues, pull requests, discussions, releases and more. You can configure your watch to get notified about all activity or just new releases. Watching signals a higher degree of active interest and involvement with the project.

Here‘s the TLDR:

  • Starring = lightweight bookmarking and kudos
  • Watching = subscribing to stay in the loop and collaborate

With those definitions in mind, let‘s crunch some numbers!

Analyzing the Top Starred and Watched Repos

To get a bird‘s eye view of starring vs watching behavior, I queried GH Archive to find the 100 most starred and most watched repos as of March 2024.

Here are the top 10 most starred repos:

Rank Repository Stars
1 freeCodeCamp/freeCodeCamp 348,000
2 EbookFoundation/free-programming-books 253,000
3 sindresorhus/awesome 223,000
4 jwasham/coding-interview-university 222,000
5 public-apis/public-apis 205,000
6 kamranahmedse/developer-roadmap 201,000
7 tensorflow/tensorflow 169,000
8 twbs/bootstrap 161,000
9 ohmyzsh/ohmyzsh 154,000
10 vuejs/vue 193,000

And the top 10 most watched repos:

Rank Repository Watches
1 microsoft/vscode 3,500
2 flutter/flutter 3,100
3 kubernetes/kubernetes 3,000
4 pytorch/pytorch 2,300
5 ansible/ansible 2,200
6 rust-lang/rust 2,100
7 apple/swift 2,000
8 golang/go 2,000
9 tensorflow/tensorflow 1,900
10 nodejs/node 1,800

A few key observations pop out:

The most starred repos tend to fall into these main categories:

  • Curated collections and awesome lists (awesome, free-programming-books, public-apis)
  • Tutorials and guides (freeCodeCamp, coding-interview-university, developer-roadmap)
  • Popular open source tools and frameworks (tensorflow, bootstrap, vue)

Meanwhile, the most watched repos are dominated by:

  • Official repos for major programming languages and frameworks (vscode, flutter, rust, swift, go, node)
  • Infrastructure and devops tools (kubernetes, ansible)
  • ML and data science platforms (pytorch, tensorflow)

The number of watches on even the most popular repos is an order of magnitude lower than the star counts. The top watched repo (vscode) has 3.5K watches compared to 348K stars for the top starred repo (freeCodeCamp). This suggests watches are a stronger, more intentional signal of engagement.

Only tensorflow cracks both top 10 lists. So while there is some overlap, the dynamics that lead to high stars vs watches are quite different.

Stars and Watches Over Time

Let‘s add some time series data to the mix. This chart shows the growth of stars and watches over time for a few notable repos:

Stars and Watches Over Time

A few takeaways:

  • Stars accumulate much faster than watches across all repos. This makes sense since starring is a lower-friction action.
  • Watches tend to grow more steadily over time as projects mature while stars can spike from going viral on social media and news.
  • Relative rates of new stars vs watches may indicate shifting momentum and community composition.

Programming Language Trends

How do starring and watching patterns differ across programming language ecosystems? Let‘s slice the data by primary repo language:

Top Languages by Stars and Watches

JavaScript dominates the overall rankings by volume, which is not surprising given its ubiquity. But what‘s striking is the higher proportion of watches for systems languages like Rust, Go and C++. My hypothesis is that these complex, fast-moving languages demand closer following to stay on top of changes. There also may be a correlation between language maturity and watches – the more mature the ecosystem, the more stable and less watched.

The AI/ML Perspective

As an AI/ML specialist, I‘m particularly interested in starring and watching trends across machine learning projects on GitHub. A few key observations:

The most watched ML repos tend to be either:

  • Major frameworks and platforms (tensorflow, pytorch)
  • Cutting-edge research repos (openai/clip, deepmind/alphafold)

ML repos account for a higher portion of top watched repos compared to top starred. By my count, 15 of the top 100 watched repos are ML-related while only 5 of the top 100 starred are. This indicates that the ML community on GitHub is especially eager to keep close tabs on the latest developments.

What might account for the relatively high engagement with ML repos? A few thoughts:

  • The pace of new breakthroughs is incredibly fast in AI/ML right now. Papers posted one month are implemented in open source the next. Watching key repos is essential to stay current.
  • ML projects are increasingly treated as products to be released on a regular cycle (e.g. Hugging Face model drops), which encourages active watching.
  • Reproducing and building on ML research requires close collaboration with original authors and other contributors, which GitHub watches and discussions facilitate beautifully.

A great example of an ML project that has cultivated an active community of watchers is the fastai/fastbook repo. Despite its relatively modest 6K stars, it has over 180 watches.

fastai/fastbook

This high engagement is driven by:

  • Hands-on, notebook-driven content that encourages participation
  • Multiple avenues for collaboration like chapters, doc edits, forums
  • Ongoing updates and live community events

I believe we‘ll continue to see ML repos pioneer new modes of collaboration on GitHub with notebooks, discussions, models and datasets all colocated in the same project. Watching provides the perfect "subscribe" button to stay plugged in to the action.

Parting Thoughts

Stars and watches are two of the most powerful yet often misunderstood metrics on GitHub. Comparing the two reveals fascinating insights about what drives different forms of popularity and engagement in the open source community.

Based on this analysis, a few key themes emerge:

  • Stars are more of a vanity metric and watches a sign of stickiness. Look at the ratio of watches to stars to gauge a project‘s true momentum.
  • Watches are especially important in fast-moving fields like AI/ML to keep up with the latest changes and contribute back.
  • The most successful open source projects don‘t just passively accumulate stars, but actively cultivate a community of watchers through releases, discussions, events and more.

Of course, the real magic of open source is not measured in any metric but in the collective creativity and generosity of maintainers and contributors behind each repo. GitHub stars and watches are merely shadows cast by that deeper light.

I hope this deep dive inspires you to think differently about your own GitHub engagement and project metrics. Star repos that inspire you, watch ones you depend on, and most importantly, get involved and start contributing!

References

  1. "GitHub – About" https://github.com/about
  2. "Why and how to correctly use stars on Github" by Julien Ponge https://jponge.github.io/github-stars
  3. "The Changelog #403: The technology and people of GitHub Sponsors" https://changelog.com/podcast/403
  4. "What Open Source Project Maintainers Want You to Know" by Victor Zhou https://victorzhou.com/blog/open-source-maintainers

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Similar Posts