akullpp/awesome-java

More information to support chosing well

Gaibhne opened this issue · 2 comments

I love this repository, and have taken many suggestions from it. But one thing always bothers me when looking at it: when looking for a solution to a problem and not just window shopping, I am presented with a dozen or so items without any context as to the projects status. I am just as likely to click on a Spring sized project at random as I am on a project that has 15 commits, the last of which was "Sorry I haven't updated in a while, I promise I'm not gone" from three years ago ;-)

I am suggesting a rough indicator of a projects state and health in the overview; something like that could probably easily be generated at least for projects hosted on GitHub, GitLab and similar sites.

Useful metrics would be (to me) commits, releases, and time since last commit and/or release. Other metrics that could be useful, but might also overload the display, would be things like committers (we value projects with many active commiters over ones with single maintainers due to the Bus Factor), commit # over the last six months (to indicate projects that are stalling) and dependency information.

A possible display might look something like this (taken from the current "REST Frameworks" section):

All the links have mouse-over hover text elements with additional information. If there was interest in this, I might be able and willing to provide a script or something to generate the information from web crawls, to be updated on regular intervals.

Agreed, there should be some rules. If I have the time I'll create a script to do this.

Some good metrics:

Activity
+1 More than 10 commits in the last 6 months
+0 Less than 10 commits in the last 6 months
-1 No commits in the last 6 months

Maturity
+1 Exists for longer than 3 years
+0 Exists between 6 months and 3 years
-1 Exists less than 6 months

Stability
+1 No active issues and PRs
+0 Less than 10 active issues and PRs
-1 More than 10 active issues and PRs

Contributors
+1 More than 10 contributors
+0 More than 3 contributors
-1 Less than 3 contributors

License
+1 Good license
-1 Bad license

Tests
+1 has tests
-1 has no tests

(test coverage could be extracted if it's in the README)

Meta

  • Has contribution guidelines
  • Has CI
  • GH's community checklist
  • Other GH insights like dependencies

I'm going to research and come up with some idea. The other awesome lists are not really bringing better or new ideas to the table though. And maybe that's the use case for the frontends to improve upon these things. Maybe an awesome list should just be the datasource and that's it.