On 10/30/06, Stephen Colebourne <[EMAIL PROTECTED]> wrote:
From: Sandy McArthur <[EMAIL PROTECTED]>
> If we want to come up with the notion of a "super" version, something
> that is more broad than a "major" version and includes non-backwards
> compatible changes I'm fine with that.
>
> But mandating that any major release be completely non-backwards
> compatible is silly.

So what does a major version mean? Surely a major version means "we have changed the 
code so it is no longer compatible, you cannot upgrade simlpy and easily"

As a programmer using 3rd party libraries I think the following when I
see version number changes:

Point release (#.#.X):
Bug fixes only. I should be able to move up between point releases and
not have to worry about changes affecting my code assuming my code
didn't depend on a bug.

Minor release (#.X.#):
Small added functionality but nothing which changes the assumptions
I've come to expect while working with a library. Things like
providing another implementation for use or increasing the visibility
of a method to make sub-classing easier. Completely new functionality
could be added assuming it is adjacent to the existing code.

Major release (X.#.#):
Some of my fundamental assumptions of how best to do things may have
changed. Default values may have changes but I can expect those
defaults are very unlikely to affect my code negatively. The best way
of doing things may have changed such that functionality my code
managed is now managed by the library. It's reasonable for me to learn
a new and better way to use the library but I should be able to expect
to get by doing things the same old way.

And then there is the deeply revised product version change. This is
where the product provider says: "we learned from past experiences and
made drastic changes that make the product as a whole smarter, faster,
better but for you to take advantage of them you'll need to make
changes to the way you do things." With this type of version change I
expect to suffer a one time upgrade process that may not be fun but
I'm willing to accept the gains will justify the present pain. I think
Gary said this best with "a next generation based on new code rather
than a next version".

--
Sandy McArthur

"He who dares not offend cannot be honest."
- Thomas Paine

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to