SVN (an abbreviation for "subversion") is an open source version control package of the Apache Foundation. Version control is a process whereby: 1) versions of a document are saved for later retrieval, even if the document is later deleted; 2) versions of a document may be compared for differences; 3) multiple authors may edit and build the document version chain, with software support for avoiding, managing, and resolving collisions; 4) catastrophic failure recovery mechanisms are in place to maintain document and version integrity across a wide class of possible threats.
Version control systems such as SVN differ significantly from the version comparison features common in word processors. SVN and similar systems (e.g., CVS, GIT) are focused on program language source code and related text-based documents; they are not optimized for binary documents.
Version control systems' emphasis on audit trails and catastrophe recovery yield them common platforms for backups and managing data integrity. SVN is often implemented in a host/client architecture, whereby the document repository is physically distinct from the development environment. In this model, users install a separate SVN client or use a web client to interact with the system. Version control is a best practice for software development.