What are some standards in naming a software/hardware version?
I am wondering if how we name a version of a spacecraft differs from how we name a version of a software. For software, I usually see things like "2.0.32.32" or something like that and sometimes they may be preceded by some letter or word. Is there an universal standard for telling how you should format the name of the version, and what about spacecrafts? Are the naming conventions the same?
This post was sourced from https://writers.stackexchange.com/q/46445. It is licensed under CC BY-SA 3.0.
1 answer
Software numbering
There are lots of schemes in use, and sometimes software vendors even switched between schemes.
The most important feature of numbered schemes (as opposed to pure naming schemes like "Windows ME, XP, Vista") is that the version numbers always increase, that is, later versions get greater version numbers (what "greater version number" means however depends on the chosen numbering scheme).
For numbered versions, there are four main concepts:
-
The "integer" concept: The version is just numbered 1, 2, 3, ...
This, however, is pretty rare, because it doesn't give you a way to distinguish between large and small updates.
-
The "floating point" concept: This is a straightforward extension to the integer version, where the version number is treated as a floating point value.
I don't know how much it is used these days, but it was the prevalent way to version DOS and early Windows software. For example Windows version 3.0 was followed by version 3.1, which then was followed by version 3.11, where the change only in the second digit signified that it was a very minor update. On the Chinese market, there also was a Windows 3.2, which was released after Windows 3.11, thus demonstrating the floating point nature of the version number.
Another interesting case of floating point versioning is TeX, whose version number converges to pi. This is to indicate that the current version is basically stable, and only bug fixes are done.
-
The "list of integers" concept: This treats the version number as a lexicographically ordered list of integers. The first integer is known as major version number, the second as minor version number. A third number, if it exists, usually denotes pure bug fix releases. In rare cases there may even be a fourth number (for example with gcc, there were versions 2.7.2.1 to 2.7.2.3).
In this scheme, the major version number is 1 for the first release (usually pre-first-release versions are given the major version number 0). The next version always increases one of the numbers by one (selected depending on the size and/or importance of the update), and sets all following version numbers to 0.
Software using this scheme often omits trailing 0 values, with the exception for the minor version, which is almost always given even when zero.
Date based concepts: The version number indicated the time of release, like Windows 95, 98 and 2000, as well as Ubuntu's year.month numbering scheme.
Note that the used concept affects the ordering of the releases: Following the floating point concept, Windows 3.11 was released earlier than Windows 3.2, while due to using the integer list concept, Linux 3.2 was released before Linux 3.11 (with Linux 3.3 to 3.10 in between).
Spacecraft numbering
From what I gather from browsing this site, the most common scheme for spacecrafts seems to be just the craft's "family name" followed by an increasing number. Sometimes there are letters instead of numbers (like CRO A, CRO B, CRO C), or combinations of both (like Astra 1-B).
0 comment threads