<p>I distribute software online, and always wonder if there is a proper way to better define version numbers.</p>

<p>Let's assume A.B.C.D in the answers.  When do you increase each of the components?</p>

<p>Do you use any other version number tricks such as D mod 2 == 1 means it is an in house release only?</p>

<p>Do you have beta releases with their own version numbers, or do you have beta releases per version number?</p>

I use V.R.M  e.g. 2.5.1
V (version) changes are a major rewrite
R (revision) changes are significant new features or bug fixes
M (modification) changes are minor bux fixes (typos, etc)
I sometimes use an SVN commit number on the end too.