Book Versioning is a versioning scheme developed to track changes between editions of published works. Given a version number MAJOR.MINOR.PATCH, one increments the
Publications come in editions. Newer ones often contain corrections and new content; it is usually safe to assume edition 7 is preferred over edition 6. However, the edition number gives little information about the nature of the difference between the editions. Moreover, the definition of an edition varies a lot, resulting in much confusion, especially for the reader.
As an example, a student looking for a textbook might make do with edition 6 instead of edition 7 if the changes between the editions are minor editorial changes. If, however, edition 7 comes with major, significant changes, great consideration should go into making a decision between the editions. The word "revised" is often added to make some distinction but its practical usefulness is highly questionable.
Similarly a treatise of more personal nature might stay relevant in subject, but the author may have had a change of heart, wanting to revisit the topic. Such progress in thought often manifests itself in new books instead of new editions which makes recognising and following this progress much more difficult for the reader.
We propose to version publication editions in a way that allows and encourages authors to make even drastic changes to their works, while at the same time making the nature of the changes between different editions immediately evident.
This versioning scheme of publication editions is named "Book Versioning," and it is presented in detail in the subsequent section. Since this versioning scheme is easily applied to all text, the scheme itself is versioned under it.
Book Versioning is heavily inspired by the Semantic Versioning scheme that is widely used in software development.
The key words "MUST", "MUST NOT", "SHALL", "SHOULD", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in RFC 2119.
A publication using Book Versioning MUST include the version number of the edition in the title page verso, and in formats where a title page verso does not exist, the version number MUST be included in the same place the publisher information is presented.
A publication using Book Versioning MUST NOT be published without the statement "The version number of this edition is lower than that of the most recent published edition." if the statement is true at the time of publication. The statement MUST be placed near the version number of the edition.
A published edition of a publication using Book Versioning MUST NOT include any modifications to its content. Any modifications MUST be published as a new edition with a new version number.
A publication using Book Versioning SHOULD always include, within the publication, a summary of changes between the published edition and the previous one. The summary is RECOMMENDED to be presented in the preface of the publication, if it exists.
A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 → 1.10.0 → 1.11.0.
The first version number an edition takes SHALL be 1.0.0.
Patch version Z (x.y.Z | x > 0) MUST be incremented if the new edition introduces only editorial changes or clarifications that do not significantly alter the content of the preceding version or its meaning.
Minor version Y (x.Y.z | x > 0) MUST be incremented if the new edition introduces new content that aligns with the content of the preceding version. It MAY include patch level changes. Patch version MUST be reset to 0 when minor version is incremented.
Major version X (X.y.z | X > 0) MUST be incremented if the new edition introduces new content that does not align with the content of the preceding version. It MAY also include minor and patch level changes. Patch and minor versions MUST be reset to 0 when major version is incremented.
Precedence refers to how versions are compared to each other when ordered. Precedence MUST be calculated by separating the version into major, minor and patch identifiers in that order.
Precedence is determined by the first difference when comparing each of these identifiers from left to right as follows: major, minor, and patch versions are always compared numerically.
Example: 1.0.0 < 2.0.0 < 2.1.0 < 2.1.1.
Book Versioning makes the differences between different editions of published works apparent. Readers benefit from the transparency, authors of evolving subjects get to make drastic changes to their texts without publishing new titles, and publishers gain a more detailed view of their editions and can market accordingly.
Suppose you are writing a textbook on astronomy and your first edition gets published with the version number 1.0.0. Afterwards several typos and grammatical mistakes are found and, due to great demand, a new edition with the version number 1.0.1 is published. Time passes and you wish to include findings made with the James Webb telescope. Dedicating a chapter to these findings much new content is presented and the new edition is published with the version number 1.1.0. Then, one day, a new discovery makes much of your chapter on cosmology obsolete. You get to work revising your work to match the recent findings. Since the new content does not align with the old one you publish under the version number 2.0.0.
Due to the new major version number readers are advised against the older editions. In traditional publishing the new edition would have been published most likely as a revised 4th edition. But the 3rd edition would also have been published as a revised edition, even if the difference between the 2nd and 3rd edition is much less drastic than that between the 3rd and 4th edition.
As a young philosopher you published a book on democracy and now, much later, your views concerning democracy have changed a lot. Since the subject remains the same and the title of your earlier book can be made to work with some editing, you write a completely revised edition. Within the Book Versioning scheme this change of heart would be incorporated in the incrementation of the major version; old views would turn obsolete while also providing your readers a way to see how your thinking evolved; with Book Versioning the reader is immediately informed that your views have changed. Publishing a new title that concerns the same topic does not encode this information, and the reader would have to read both books and assume the one published later corresponds to your current views.
The Book Versioning specification was developed by Mikko Laine, a keen writer and the founder of Laine Experiments, an independent art studio which, among other things, publishes books.
Feedback is welcomed. Please use electronic mail and the address info@bookver.org.
This work is licensed under a Creative Commons Attribution 4.0 International License.