libraries.io icon indicating copy to clipboard operation
libraries.io copied to clipboard

Specify version scheme requirements per-language in SourceRank

Open Zakru opened this issue 4 years ago • 0 comments

Enhancements and Features

Before submitting an enhancement or feature request:

  • [x] Check that the enhancement is not already in our issue tracker, they should be labelled 'enhancement'.,
  • [x] For large feature requests, check that your request aligns with our strategy http://docs.libraries.io/strategy. (Don't know if this is large, but seems to align anyway)

Currently, SourceRank only cares whether a library is strictly following the SemVer specification. For some languages, though, another specification exists, which should be used by projects. An example would be Python and its PEP 440. PEP 440 compliant versioning is based on SemVer, but most differences are in the pre-release notation. SemVer would do something like 1.0.0-beta.1 whereas in Python you should use 1.0.0b1 for the same situation.

The point being, these preferred versioning schemes break SourceRank, causing libraries to lose points. And as these points are supposed to indicate quality, I believe it should be based on more specific versioning systems whenever one is applicable. Instead, currently it merely promotes using the "wrong" system when another, preferred one exists.

My proposed solution would be to detect the context of the library in question and handle its versions accordingly. (Another could possibly be to just ignore the pre-release versions, but I do not know if that would be better in any way)

I probably cannot work on this myself unless it is very simple.

Zakru avatar May 06 '20 10:05 Zakru