The choice boils down to whether or not you want to follow Semantic Versioning 
[1].  Apache (APR) [2], Eclipse [3], and OSGi [4] all seem to have equivalent 
policies.  Personally, I think it's a perfectly logical approach to increment 
the major version number for any backwards incompatible change.

Python officially has a more relaxed interpretation [5].  My understanding is 
that in practice the Python community was very concerned about backwards 
compatibility among the late 2.x releases because 3.0 was going to introduce 
big changes.

> Python versions are numbered A.B.C or A.B. A is the major version number – it 
> is only incremented for really major changes in the language. B is the minor 
> version number, incremented for less earth-shattering changes. C is the 
> micro-level – it is incremented for each bugfix release.

The Wikipedia article on software versioning [6] covers some other concerns 
such as marketing.  I guess that takes into account the idea that "2.0" should 
be a major improvement.

As I said, I personally like the concept of semantic versioning.  If Rich wants 
to do something else, I can live with an incompatible 1.3.  In any case, it 
would be useful for the Clojure Core team to document the Clojure version 
policy.



[1] http://semver.org

[2] http://apr.apache.org/versioning.html

[3] http://wiki.eclipse.org/index.php/Version_Numbering

[4] http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf

[5] 
http://docs.python.org/faq/general.html#how-does-the-python-version-numbering-scheme-work

[6] http://en.wikipedia.org/wiki/Software_versioning

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to