Search code examples
version-controlterminology

What's the difference between VCS and SCM?


I'm doing some research on revision control in practice, and there seems to be two names for the same thing in books and papers: Software Configuration Management (SCM), and Version Control Systems (VCS). The former seems to be popular with software engineers / Java programmers, and the latter with from sysadmins, but both appear, at layman's glance, to mean the same thing.

On the other hand, in the past I've interpreted SCM to mean something like puppet or cfengine. Can anyone set me straight on these two terms in practice? Preferably with concrete examples.


Solution

  • Version Control Systems are just that, software that provides versioning functionality (Git, Subversion, TFS Version Control) all fall into this category.

    Software Configuration Management is a broader term that encompasses all the processes needed to build, package, and deploy software -- this includes Version Control Systems. It does not refer to software per se.