What is Source Control?


of SCM tools available, but there is no standard set of features or even a standard terminology.  The word "checkout" has different meanings for CVS and SourceSafe.  The word "branch" has very different semantics for Subversion and PVCS.

So I will keep the tool-neutral ideal in mind as I write, but my articles will often be somewhat tool-specific.  Vault is the tool I know best, since I have played a big part in its design and coding.  Furthermore, I freely acknowledge that I have a business incentive to talk about my own product.  Although I will often mention other SCM tools, the articles in this series will use the terminology of Vault.

The World's Most Incomplete List of SCM Tools
The SCM tools that I mention most often in this series are listed below, with hyperlinks for more information.

  • Vault.  Our product.  'Nuff said.
  • SourceSafe.  Microsoft.  Old.  Loved.  Hated.
  • Subversion.  Open source.  New.  Neato.
  • CVS.  Open source.  Old.  Reliable.  Dusty.
  • Perforce.  Commercial.  A competitor of SourceGear, but one that I admire.

This is a very incomplete list.  There are many SCM tools, and I am not interested in trying to produce and maintain and accurate listing of them all.

I am writing about source control for programmers and web developers. 
When we apply some of the concepts of source control to the world of traditional documents, the result is called "document management."  I'm not writing about any of those usage scenarios. When we apply some of the concepts of source control to the world of graphic design, the result is called "asset management."  I'm not writing about any of those usage scenarios.
My audience here is the group of people who deal primarily with source code files or HTML files.

Warnings About my Writing Style
First of all, let me say a thing or two about political correctness.  Through these articles, I will occasionally find the need for gender-specific pronouns.  In such situations, I generally try to use the male and female variants of the words with approximately equal frequency.

Discerning readers may notice my tendency to use female pronouns in examples which are positive and male pronouns in situations where the hypothetical person is a bonehead.  In part, I use this approach because it seems safer for me to aim my errors of political correctness in that direction.  I would also admit that this habit somewhat reflects my general belief that I was born a member of the gender which tends to evidence less character and virtue.

Second of all, please accept my apologies if my dry sense of humor ever becomes a distraction from the material.  I am writing about source control and trying to make it interesting.  That's like writing about sex and trying to make it boring, so please cut me some slack if I try to make you chuckle along the way.

Looking Ahead
Source control is a large topic, so there is much to be said.  I plan for the chapters of this series to be sorted very roughly from the very basic to the very advanced.  In the next chapter, I'll start by defining the most fundamental terminology of source control.

Eric Sink is a software developer at SourceGear who make source control (aka "version control," "SCM") tools for Windows developers. He founded the AbiWord project and was responsible for much of the original design and implementation. Prior to SourceGear, he was the Project Lead for the browser team at Spyglass (now OpenTV) who built the original versions of the browser you now know as "Internet Explorer." Eric

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.