ecosystem-dashboard icon indicating copy to clipboard operation
ecosystem-dashboard copied to clipboard

Community Repository Scoring

Open andrew opened this issue 5 years ago • 3 comments

Now that we're starting to collect a good picture of all the open source projects across github that use IPFS in some way, it'll be useful to have some ways to rank/sort/filter them. I propose we have a "ecosystem score" that can be generated based on metrics and attributes of each repository.

Some basic ones to begin with:

  • Does it exist?!
  • Is it a fork?
  • Is it archived?
  • Is it owned by an org?
  • Is it published on a package manager?
  • How large is the repository?
  • How many issues?
  • How many pull requests?
  • How many contributors?
  • How many stars?
  • How many forks?
  • How many watchers?
  • How long has it existed?
  • When was it last updated?
  • When was it last committed to?
  • Does it use go-ipfs as a library?
  • Does it use js-ipfs as a library?
  • Does it use go-ipfs via docker?
  • Is it owned by an internal org?
  • Is it owned by a collab org?
  • Is it owned by a collab contributor?
  • Is it owned by a core contributor?
  • If it has published packages
    • How many downloads?
    • Do they have any dependent packages?
    • Do they have any dependent repos?

andrew avatar Jul 28 '20 09:07 andrew

First pass of this has been deployed and only showing repos on /collabs/repositories and /community/repositories if they have a score of 0 or greater (mostly filtering out old, archived and forked repos).

Next step is to boost by:

  • dependencies on internal packages
  • known owner
  • published packages

andrew avatar Jul 29 '20 15:07 andrew

I've made some tweaks to the score calculator to limit the impact of repos with very high numbers of stars, forks and watchers.

It also boosts projects with dependencies on any indexed package right now (collabs, community and internal), for this to be effective, need to index the dependencies of 20K community repos that haven't download the dependency data for yet.

One other thing I added in was boosting by number of tracked search hits, which does help although often finds superficial mentions of ipfs in readmes, so may need to tweak the weighting on different kinds of search results.

andrew avatar Jul 30 '20 15:07 andrew

You can also sort repo lists by score now: https://ipfs.ecosystem-dashboard.com/collabs/repositories?order=desc&sort=score

andrew avatar Jul 30 '20 15:07 andrew