A Heuristic on Versioning for Documents
August 2023.
Proposal for versioning for documents:
Consider your initial document.
- I.e. "A List of Conditions where LSTM Models Are Guaranteed to Converge to Local Minima"
Versioning could follow these rules:
- If you decide to open a new document, and start a new article, then it is a major version change (i.e. v1.0 -> v2.0)
- If you rewrite parts of the document that change the general summary of the document, then it is a major version change (v1.0 -> 2.0)
- If you add additional context or limited additional information, it is a minor version change (i.e. v1.0 -> v1.1)
- If you fix typos, it is a hotfix version change (i.e. v1.0.0. -> v1.0.1)
Limitations of this approach
- How do you differentiate major vs minor version changes, when you:
- Add a lot of additional information (i.e. 20 pages) that does not change the general summary of the document?
- Regularly rewrite entire paragraphs, while keeping the same general summary of the document?
December 2023 Update:
- Semantic Versioning, originally authored by Tom Preston-Werner, is a much more practical set of rules for versioning for writing software, compared to the above heuristic.
- The arguments in the limitations section are related to the Ship of Theseus thought experiment. As of this writing, I don't have an absolute answer about how to approach the limitations section, though I'm open to ideas and suggestions.
Last Revision: December 2023. Please note that this essay is still experimental, and that I have yet to implement this method for versioning in my work, and to figure out whether this versioning system works in practice.