in reply to Versions Thought
As I described in Re: Versioning modules in a package, in the system I've used most in the past, the major part of a 3 part version number identifies the external interface release.
To my way of thinking, a 0.x.x version number indicates that the module is a proof of concept. Most likely a first attempt prototype with an interface defined on-the-fly, that is highly likely to change once a better picture of the scope and difficulty of the task has been assessed, and some usability of the interface has been tested.
It says:
Comments, critiques and suggestions regarding the goals and interface are sought and welcomed.
Do not test the implementation as it is intended only for the sake of exploration on the concept.
Do not waste time developing patches as it is quite likely that the code you are patching will never see light of day in it's current form.
If you believe that the interface is likely stable, and that the implementation is reasonable, whilst not guarenteeing that all possible use cases have been thought of, covered and tested--then release it.
The first Release should be 1.0.0.
So yes, I am in agreement in as far as, if you intend that what you have is usable by yourself first and others second, then it should be 1.0.0, but you should only start with 1.0.0 if you are working to a predefined interface and only providing a new implementation of it.
If you are inventing a new interface for something, start with 0.0.1 and once you have convinced yourself that you have a reasonable interface design that is likely to remain stable for a while and only be extended rather than completely redesigned in the forseable future, then release it as 1.0.0.
|
|---|