[Cppcms-users] versioning scheme (Re: Getting to feature freeze for CppCMS 1.0.0
Brought to you by:
artyom-beilis
From: augustin <aug...@ov...> - 2011-09-04 08:50:19
|
On Sunday, September 04, 2011 01:43:10 PM Artyom Beilis wrote: > I'm going to start features freeze for CppCMS 1.0.0, First of all, congratulations on the impending new stable release. Secondly, I would like to suggest the adoption of a much simpler numbering scheme. You clearly adopted the three digit number like the linux kernel (my kernel version: 2.6.38). I think a two digit version number would be much easier to understand in the long run. You speak of API and ABI compatibility. The first digit would simply refer to that. The second digit would simply represent the bug-fix releases. According to wikipedia, the linux kernel version 2.6.0 was released on 18 December 2003: it means the 2.6.x branch is almost 8 years old, and the only digit that matters is the 3rd one, i.e. supposedly the list significant one! It makes no sense to me. In the roadmap, you refer to 1.1.0 as the next stable release... but how do you decide when to pass to 2.0.0? When we have reached 1.9.0? The Drupal community has gone through this debate before, and in 2006, they decided to switch from a three-digit to a two-digit version number: major releases where number 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, and then: 5, 6, 7, 8... They started having this debate because they were torn between calling the next version after 4.7: Drupal 4.8 or jump to Drupal 5.0. Finally, it was simply: Drupal 5. See: "What do version numbers mean?" http://drupal.org/node/467026 Most importantly, you can see the discussion that lead to this change. See the post: "New version number convention for core" http://drupal.org/node/85943 with a nice table with pros and cons regarding the two versioning models. This post is worth reading in its entirety. Since you are about to make your very first very stable release (at least the first one affecting a small but growing user base), now would be a good opportunity to decide on a simpler scheme: each new API/ABI-compatible version would be represented by the first digit: CPPCMS 1, CPPCMS 2, CPPCMS 3... and with the bug fix releases: CPPCMS 1.0, 1.1, 1.2, 1.3, etc. for the first branch of API compatible releases. I don't want to repeat all the argumentation that is clearly stated in the comments here: http://drupal.org/node/85943 You can see in the comments why everybody preferred the two-digit system. So, my only request would be to make the minor code changes (e.g. constants like CPPCMS_PACKAGE_VERSION, etc) and documentation change to fit this new policy. I think you have much to gain (in clarity for the users) over the long run with the simpler scheme. What do you think? Augustin. -- Friends: http://www.reuniting.info/ My projects: http://astralcity.org/ http://3enjeux.overshoot.tv/ http://linux.overshoot.tv/ http://overshoot.tv/ http://charityware.info/ http://masquilier.org/ http://openteacher.info/ http://minguo.info/ http://www.wechange.org/ http://searching911.info/ . |