-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Figure out a good way to rate packages #12
Comments
Looks good to me, except with the Mature's explanation, which seems wrong to me. |
OK here's another attempt at coming up with relevant dimensions. I deliberately tried to distinguish each section with a different letter, so we could have the 'BME' scale.
|
I have some issues with the definitions we're using.
Does having no bugs or issues mean that the project is well maintained? This could also indicate that the project is dead or has no users. I think there are very few popular projects that don't have bugs or issues. I'd also like to note that for more esoteric languages like OCaml there are quite a few projects that haven't had changes in a year or more, but that doesn't mean they don't suit their purpose.
Specifically you mention a "large number of users". How do we check that and what actually constitutes "large" in this context? Is it dependent on the number of stars, forks or watchers? OPAM seems to have basic statistics, so maybe that could be a metric? awesome-scala uses stars as the main metric for popularity, even making the most stared projects bold. I'm personally not fond of this approach. |
I think "Maturity" is too un-obvious a word. I'd suggest as categories:
|
Ooh. I like these, @pmetzger. Much better than mine. We can fold source control into maintenance: I'm happy taking the position that nowadays, open source software that's not on public source control is also not properly maintainable. As for the docs, it'd be nice to note if docs are available online. Perhaps that gets the highest grade. So that gives us 5 dimensions I'm pretty happy with. How do we summarize these in a way that allows us to avoid writing an article per project? Perry, do you want to add a rubric just as I did? The way I see it right now, we can annotate the projects, and add a comment or 2 if there are specific issues worth mentioning. |
Let met think about it for a bit. (And if I forget to think about it, poke me.) |
I like the direction this is going a lot. Just one thought. Would it add too much complication to allow, in some cases, to rate different, "dimensions" of a package differently? I keep coming back to the
This could get out of hand. Giving a package multiple ratings like this should only be used when there's a sufficiently good reason. |
I think that's fair. We can go into more detail in these kinds of cases, just as you did here. |
I would lean more towards having opam do this automatically, though not as accurate as manually deriving it. I think npm metrics are a good start, even if crude. |
I'd like to have some scale to measure the quality of packages.
a. Well maintained
b. Average maintenance (issues pile up, but it's ok)
c. Not maintained, issues pile up, bugs appear over time.
a. Mature (lacking support for needed features, serious bugs etc)
b. Immature (lacking some features, buggy)
c. Unusuable (too many bugs, lacking too many features)
a. Modern (using all modern standards and maybe even pushing the envelope)
b. Somewhat outdated (doesn't fully keep up with standards)
c. Antiquated (too outdated to be of use in a modern context)
What do you guys think? Can we summarize these 3 axes in some convenient way? Unfortunately each of these starts with M (maintenance/maturity/modernity), but maybe we can express these with other words.
The text was updated successfully, but these errors were encountered: