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.