This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

To Whomsoever It May Concern

Posted by: Anonymous Coward on June 11, 2005 11:23 PM
The libtool/ld uses a version number system:

<tt>interface.implementation.age</tt>

the first two are pretty self explanatory, the age bit need examples to explain.

first of all, interface - age > 0 demonstrates backwards compatibility. So a lib like

<tt>3.0.2</tt>

supports interfaces

<tt>3, 2 and 1</tt>

but NOT interface zero. A lib like

<tt>&tab7.4.2</tt>

supports interfaces

<tt>7, 6 and 5</tt>

and so on<nobr> <wbr></nobr>...

the idea is that if you are using something libfoo 3.4.0 in your code a lot and see the version bump up to 3.5.0 you will know that only the implementation, not the interface, to the code has changed and can upgrade with some confidence. if, however, you saw the version go from 3.4.0 to 4.0.1 you know that the interface has changed and you should upgrade with caution. an interface change might be something major like changing a method signature or name, or it could be something minor like adding a new method (but all odds
one stay the same) - in either case the version gives you certain hints.

That said, why don't other developers follow such schemes?

Shouldn't there be an RFC on version numbers too?

I would love to see, some coherence in version numbers at least for F/LOSS<nobr> <wbr></nobr>:)

Regards,

#

Return to Decline and fall of the version number