- * The string representations of the package/lib version must match the
- * version numbers, the string lengths must be >= 5 (e.g. "0.1.0"), and
- * the strings length must be <= 20 characters, otherwise something is
- * probably wrong.
+ * The string representations of the package/lib version must neither be
+ * NULL nor empty, and the length shall be within an expected range.
+ *
+ * The lower limit assumes:
+ * - A version text consists of three parts (major, minor, micro),
+ * like "0.1.0".
+ * - Three numbers with at least one digit, and their separators,
+ * result in a minimum length of 5.
+ *
+ * The upper limit assumes:
+ * - The major, minor, and micro parts won't contain more than two
+ * digits each (this is an arbitrary choice). The three numbers
+ * are separated by a period character.
+ * - An optional "-git-<hash>" suffix might follow. While git(1)
+ * defaults to 7 hex digits for abbreviated hashes, projects of
+ * larger scale might recommend to use more digits to avoid
+ * potential ambiguity (e.g. Linux recommends core.abbrev=12).
+ * Again, this is an arbitrary choice.
+ * - An optional "-dirty" suffix might follow.