A page-rank-like approach to scoring code libraries for quality and dependability. This is a quick-pass attempt at translating metrics we have readily available in the code community into a conversion funnel that might be familiar to marketers.
Conversion funnel equivalent | Metric | Description |
---|---|---|
awareness |
github stars | Equivalent of "likes", but only slightly better than visits (it's possible to have many stars per one visitor). This metric only proves awareness, no causal relationship to actual interest, "real" popularity, code quality, trust, intent to use, or advancement in the conversion funnel. |
interest |
dependents | Dependants are a sign of awareness and commitment from the authors that chose to depend on the library, but no correlation to actual usage, commitment from upstream implementors and users to use the dependent, and is just as likely to represent herd mentality or a reaction to recent awareness as it is to be a predictor of success |
conversion |
downloads | A sign of both commitment and success. Regardless of the number of direct dependents, libraries with higher downloads are vetted by more users and upstream implementors. |
As a rule, whenever possible we try to use actual data to drive development and maintenance decisions every day. Real data and reliable metrics can provide "cow paths" to maintaining high quality code projects.
(As a sidenote, @doowb and I - as of the writing of this sentence - have received 8,920,991,313 downloads across our projects over the past 2 years or so. This has given us a wealth of perspective and insight into what really matters in code projects. As it turns out, some things that are popular or seem important are only superficially important and don't really matter at all when it comes to actual usage, and vice versa.)
Visits to GitHub repositories are not factored into the conversion funnel here since, although repo maintainers have access to these numbers, they are not publicly accessible, and thus cannot be used to create any meaningful comparisons or averages.