Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Versions Thought

by BrowserUk (Pope)
on Mar 13, 2006 at 22:51 UTC ( #536406=note: print w/replies, xml ) Need Help??

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:

  • This module is not yet released and may never be released.
  • It is unlikely to have ever been fully tested.
  • It is very likely to contain bugs.
  • Some of those bugs may already be known about and have not yet been and quite likely will never be addressed.
  • It should only be used for conceptual assessment of the goals and interface design.

    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.

  • It should under no circumstances be used for anything that is required to work.

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.

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://536406]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2018-04-23 12:12 GMT
Find Nodes?
    Voting Booth?