There is no software project, from one person coding alone to hundreds of developers working in large teams, that cannot benefit by the use of source code version control. There is some confusion about what code versioning software is and does. This is largely due to the fact that there are several version control software vendors that have built different ranges of functionality into their version control tool. However, to be considered source code version control software, a system must do the following:
- Store source in a central database (called a repository)
- Keep the change history (a.k.a. version control) of programming code
- Allow programmers to use the source code version control software to retrieve old copies of the source code
- Track who made which changes when changes are made
The end goal of source code version control software is, first and foremost, peace of mind. This is achieved by knowing that programmers are not keeping source code on their personal computers (which can be stolen, have hard drive failure, or have soda poured on them). It is also achieved by knowing that as source code is changed, it is possible to revert it back to a previous version if newer code has bugs or has mistakenly left out code.
When looking to purchase source code version control software, there are many different ways to make the buying decision. However, what tends to make the most sense is contacting version control software suppliers based on your existing programming environment.
Action Steps
The best contacts and resources to help you get it done
If you have a Microsoft shop, use Visual Source Safe (VSS) as your version control tool
VSS has been included in copies of Microsoft's programming environment, Microsoft Visual Studio, for over a decade. There are many detractors of the software, but it integrates well with Microsoft products and many Microsoft developers are very familiar with it. Because of this, Microsoft is probably the largest version control software provider in the world.
I recommend: Check with your Information Technology (IT) group. If they are going to use Microsoft products, find out more about VSS from the
Microsoft Developer Network (MSDN) website. VSS is easily integrated into your entire enterprise and is easily extended. You can buy VSS online from the
MSDN website.
For Unix servers, use version-control with Concurrent Versions System (CVS) or Subversion (SVN)
The software CVS has been around for quite some time and has long been the de facto choice for non-Microsoft source code version control. It is an open source product produced by GNU's Not Unix (GNU). However, CVS is becoming dated and a new version control software supplier, Tigris, has released SVN which has more modern features and is easier to use than CVS.
I recommend: If you are a non-Microsoft shop, download
CVS or
SVN. Information about version control software for either platform is available on their respective websites.
Consider ClearCase or Vault as third options for code versioning software
If you do not want to use SourceSafe and cannot get your buying managers to approve open source software, look at products from the version control software providers Rational and SourceGear. Their source code version control software, ClearCase and Vault respectively, are two commercial products which have been successfully utilized in a number of projects.
I recommend: If you are a Rational shop, considering purchasing
ClearCase. It will integrate into all of your existing Rational software. The features of Clear Case and links to buy version control software online are available on their website. If you are not a Rational shop, go to
SourceGear's website. They are an independent version control software supplier that has been able to make it in the competitive code versioning software industry.
Tips & Tactics
Helpful advice for making the most of this Guide
- Adopting Source Code control software is not something that should be done without discussing the decision with IT decision makers and thought leaders. If they do not want the version control software, it will not be implemented.
- Have a definite implementation plan. Source code version control software is like any other IT initiative. It needs policies and procedures to govern its operation.
- Once source code version control is in place, make sure all code is managed via the software.
The official source of Source Code Version Control Software is
the Source Code Version Control Software page at Business.com