[ILUG-BOM] Version Ka Funda
Philip S Tellis
philip.tellis@[EMAIL-PROTECTED]
Thu Jan 17 19:08:03 IST 2002
On Thu, 17 Jan 2002, Nikhil Joshi wrote:
> I get confused by the versioning system of Linux. I would like to know
> why the versions are so cryptic and not easy to remember and
> understand like in the Redmond.
Actually, the version numbers are probably the simplest to understand.
We'll get to redmond in a moment, first linux.
> Software whose version has many
> odd nos. ---> Bad ( o.k. not so good ;-)
> even nos.---> Good
> Am I right?
No. Version numbers are made up of three parts:
major, minor, release, and there's also the distributor patch, so we
have:
xx.yy.zz-dd
xx is major, yy is minor, zz or release, and dd is distro patch which we
won't bother about any more.
minor number even == stable kernel ==> no major changes will happen in
it, and it has been tested well. Features are never added or removed to
different releases of the same minor version. At least not supposed to.
minor number odd == development kernel ==> a lot of major changes are
happening in it. Features are added and removed at will. Lots of
testing is done. When the feature set has stabilised, it is moved to
the next stable release.
major numbers tell you the level of maturity of the product. linux has
been in version 2 for a very long time, and that's the level of its
maturity.
> Also I've read that the first version of Linux kernel was 0.1 Why 0.1
> ??? when it could have been 1 or 1.0 or whatever
The first kernel was very minimal, had almost no features, and was not
usable on its own. In other words, it was not mature enough to be used.
Version 1 is generally reserved for things that have matured enough to
be used by the general public.
> Also I've seen that kernels have huge version nos. My kernel version
> no. is 2.2.14-12
> Does it provide any (useful) info ?
i've already told you about the major and minor.
the release (or revision) - the third number - tells you which release
in the current version is being used. Releases normally have bugfixes
for older releases. Bugs are associated with a release, so you would
say kernel 2.4.10 fixed bug X from kernel 2.4.9. kernel 2.4.16 has a
driver for hardware Y, but kernel 2.4.15 does not.
The last part - after the - is a distro patch, or a fork from the actual
kernel.
eg: 2.2.14-12 (redhat 6.2 I think), means that redhat 6.2 uses a 2.2.14
kernel. However, they have applied some of their own patches to the
kernel after it was released. Possibly to fix certain bugs that came
up.
They cannot just put in a new kernel, because that may not have been
thoroughly tested. Instead, they only patch major bugs that are found,
and do not include features of newer kernels. Sometimes, they may add
drivers that are not in the default tree.
You also have other forks like the alan cox tree, which has the -acN
suffix (where N is the alan cox patch number). So you'd see thinks like
2.4.17-ac1, 2.4.17-ac2.
And finally, the prerelease tree. Before features are put into the
stable kernel proper, they are put into pre releases, and if nothing
breaks, the prerelease becomes the release.
So 2.4.17-pre1, 2.4.17-pre2 ... 2.4.17-pre6 were all prereleases that
built incrementally into 2.4.17.
The idea is to throw features in as soon as possible - release early,
release often. This is so that people can test new features as soon as
they are coded instead of waiting for the developer to first test, and
then release - Given enough eyeballs, all bugs are shallow.
Now, as far as Microsoft goes. How does a version number named after
the year of release tell you anything about its features?
Windows ver 1 to 2 to 3 to 3.1 to 3.11 to 95 to 98 to 2000 to XP
now that is confusing. there is absolutely no pattern.
if the difference in version numbers is 0.1, does that mean a very small
change? In fact, there were major changes between 3.0 and 3.1. real
mode dissappeared for one.
Even then, you'd expect 3.1 and 3.11 to be much closer. well, 3.11 was
really windows for workgroups. 3.1 with networking features. Does that
warrant a version change of 0.01?
Then, the next step. From 3.11 to 95 (or 4.001.95 to be exact). Is
that a big change or what?
And then, 95 OSR A, 95 OSR B (also known as 96), 95 OSR C (known as 97),
and finally 98.
OSR C had fat32 support - a major change, yet the major, minor and
release numbers remained the same.
then, 98 to 2000 - that's a big change. I haven't seen any other
software that is in version 2000. To a new comer, that would imply 1999
versions before it. Then suddenly XP. What does that mean and why does
it look like a Mac?
HTH
Philip
--
Much of the excitement we get out of our work is that we don't really
know what we are doing.
-- E. Dijkstra
More information about the Linuxers
mailing list