It seems to me it might make sense to drop the idea of having releases with conventional version numbers (eg 1.0, 1.1) and simply use the svn version numbers for everything (releases as well as svn checkouts). Then we would have periodic releases which would be listed on the downloads page (along with their dates). The advantages are
- only one series of version numbers for svn copies (which is what is mostly used) and releases
- only one set of checks for versions are needed to use both the svn copy and the releases (eg if you want to change how your program works before and after some functionality changes)
- the version numbers are maintained automatically and are very meaningful (eg if the versions are the same, then the code is the same)
- different modules have different versions is quite natural
- people creating modules don't have to think about versioning (assuming they use svn)
- given a version number, there is one, uniform, way of getting it
Disadvantages:
- the version numbers don't exactly roll off the tongue (eg the kernel is 8016)
- it isn't obvious what version of a module goes with what version of another module (but this isn't obvious in general, only for modules that are released as part of IMP and when a release version is used).
Thoughts?