Description
I just realized (by looking at 0ver.org ) that scikit-learn is also in Version 0.x. I could not find any discussion about version 1.0 in the issues.
I would like to understand the reasoning / see if there is any other channel where this topic is discussed.
Why it matters
Semantic Versioning is wide spread. People who are new to Python still know (parts of) semantic versioning. Having software in a 0.x version feels as if the software is brittle / prone to get breaking changes.
scikit-learn does not use any of the Development Status ::
trove classifiers (setup.py, list of trove classifers). Although I guess anybody working with Python has heard from scikit-learn, it might be hard to reason about the maturity of the project quickly as a newcomer.
An alternative is calendar based versioning.
Why scikit-learn should be 1.0
- Wide-Spread: 35,895 stars on Github
- Maturity:
- First release in 2010
- Releases so far: 29
- A lot of software relies on it (according to Github: 61504 repositories!)
- 17910 articles cited the version 0.8 publication
The Process to get to 1.0
scipy made this really nice. I guess some of the developers there also have a look at scikit-learn, so I hope to get more details.
From my perspective, it looked as if the scipy community made the following steps to get to 1.0:
- Code changes (see 1.0.0 Milestone of scipy):
- Are there key features missing?
- Are there important interface changes that should be done?
- Are there any other issues that need to be solved before 1.0?
- Add a community governance document (scipy)
- Write an version 1.0 paper (scipy) - this might be a nice reward for a couple of contributors, if they are in academica. Lasagne (deep learning library) did a simpler version of it (lasagne software publication), but that is still nice so people can cite what they used. scikit-learn did that a while ago as well. There is also a nice Tensorflow Whitepaper.