Hi, We do follow the standard library version numbering. The problem is that either you did not understand it or didn't look close enough. Let's have a look at configure.in: # # Making releases: # GIMP_MICRO_VERSION += 1; # GIMP_INTERFACE_AGE += 1; # GIMP_BINARY_AGE += 1; # if any functions have been added, set GIMP_INTERFACE_AGE to 0. # if backwards compatibility has been broken, # set GIMP_BINARY_AGE and GIMP_INTERFACE_AGE to 0. # GIMP_MAJOR_VERSION=1 GIMP_MINOR_VERSION=3 GIMP_MICRO_VERSION=23 GIMP_INTERFACE_AGE=0 GIMP_BINARY_AGE=0 GIMP_VERSION=$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION.$GIMP_MICRO_VERSION The libraries have the binary version in their names because they are different. libgimp-1.2 and libgimp-2.0 are different libraries and by no means compatible. They are supposed to coexist so they need the binary version in the library name. The library version is then created from the version information as given above. During a development cycle, each release is incompatible to the previous, so interface age and binary age are always set to 0. When 2.0.0 is out, we will apply the rules as given above. This is certainly a very much standardized way of handling library versions and I can you give you a very long list of projects that do it this way. Sven