Version Zero

I’ve always had doubts about version numbering from zero. And until now, versions like 0.5.2 and even more so 0.1.0 upset me. There is some fatal incompleteness in them, I would even say fate. Who came up with such a strange numbering? If numbering from zero, why not start from 0.0.0? I can assume that it seemed convenient for someone to do all the preparatory work somehow numbered, the usefulness of which is not obvious in itself, and when everything is ready for release, change the version number to 1.0.0.

What to do with version 2

A logical question arises, what about version 2.0.0 then? After all, for its preparation, we cannot use versions 1.X.X. It seems logical that in this case we simply use all even versions for development, and odd ones for release. But this practice is not used very often because it confuses those who are not familiar with it. For example, when suddenly after version 2.7.5 version 3.0.0 appears, which is no different from 2.7.5.

Why not start with the number 1?

This looks like a dead end, but fortunately semantic versioning and other schemes offer various options for how to mark pre-release versions, for example adding a alphanumerical ending like 1.0.0-alpha.1 to the version number. This solves the problem in most cases, although there are questions about sorting versions, but the sorting option proposed in the semantic versioning standard looks quite working.

Summing up I want to say that I don’t use zero versions and try to stay away from libraries or zero version programs. My recommendation is to either stop using zero at the beginning of the version number, or in any case, do not use zero versions when publishing a library or program.

Leave a Reply

Your email address will not be published. Required fields are marked *