Posted by: Anonymous Coward
on June 12, 2005 03:22 AM
I think that the iusse of the precise way of version numbering is not that important at least as different ways between the Linux kernel and gcc is concerned. I belong to the people who regularly compile both, Linux kernel and gcc from the source, in many different versions, also intermediate (-pre? and -rc? releases) and I have never been confused because of this (and I am not a specialized developper). Most users who do not compile themselves kernel or gcc don't need to care about the exact version because they use out of the box Linux distributions with precompiled binaries and preselected versions from the distributor.
Looking at the web-sites of kernel.org or gcc the versioning schemes are pretty obvious and they have a quite well defined pratical sense. As far as gcc is concerned one should also mention that a branch like 4.0.0 is available for downloading and compiling for some time before it obtains the full status of a release, such that a certain number of bugs are already fixed for the first *.*.0 release. Afterwards, the bug-fixing continues and one should use the latest release in one branch. However, the proper choice of the branch (caracterized by the first two numbers) is a different, actually quite subtle, issue because there are several branches in parallel and one should be careful for the proper choice. In particular the latest branches 4.0.* and to some extend also 3.4.* are not very suitable if you want to compile existing open-source or free software, especially the Linux kernel. Due to new functionality a lot of existing quite old code may be broken. For this one should use the more conventional branches 3.3.* or even 3.2.*. However, when developping a new program/software from scratch, then the latest branches are presumably more useful. For this reason some Linux distributions are shipped with two (or more) versions of gcc. I honestly think that the strategy of functionality versus compatibility is very subtle and that there is no easy way. However, if there is a problem with confusion for normal user than it is here and not with the exact way how versions are numbered. Quite often normal users want to install free software from source and encounter problems because they use a branch which is not appropriate, for example 4.0 instead of 3.3 (simply because it is the default choice in their Linux distribution). This issue would in my opinion have made a much more interesting and relevant article.