There are so many ways of numbering software. Usually I try to avoid things like mozilla's infamous 2.0.0.14 build 285 since it's just getting too complex for it's own good.

I like to use a majorversion where 'appropriate' - aka alpha/beta/rc are 0.x, final is 1.x, only go to 2.x if major rewrites are done/major functionality changes.

For me the 'tell' is the minorversion - Best way I've found is to just use the build date in days since the day you started the project (or started counting)

So for example, if I started writing a program back on jan 1, a version build for distribution today would be 1.355 - and unlike some other numbering schemes, I do use leading zero's to pad out the version number.

It's simple, and leaves little doubt as to what version you are looking at.