Everyone Is Transitioning to Simpler SCM
I believe there are eight reasons SCM is reverting to version control through the use of Subversion and Git. But are these reasons really justified?
1. Price of commercial tools
The reality—or perception—is that commercial tools are always expensive. ClearCase, the dominant commercial solution just a few years ago, carried a price tag ranging from thousands to tens of thousands of dollars per user. IBM’s acquisition set the stage for costs holding fairly steady. And even though there are reasonably priced, highly capable commercial SCM tools, the perception is that the capabilities doesn't justify the added expense.
In addition, commercial SCM tools typically consume much customization effort, requiring consulting and training, although some of the new SCM and ALM tools have driven those costs down significantly through easy out-of-the-box installation and simpler configuration procedures.
However, building processes around free version control tools will cost significant resources. And from a training perspective, the biggest cost is in lost salaries. As a result, a mature process and easy-to-use technology are both needed to reduce training costs. These are somewhat lacking in open source solutions and in many commercial tools, too.
2. Benefits of open source tools
Open source tools are inexpensive to acquire and maintain. The source code is in the public domain, so there is no chance of the vendor going bankrupt, and with so many contributors and experts out there, the tools should continue to receive support and enhancements.
However, it is difficult to make architectural changes to an open source product, as this is disruptive to the community and knowledge base. It also requires dedicated resources to see such changes through, which can take a significantly long time to develop.
Speed of updates can also be a problem due to a gradual response to market demand. In contrast, commercial providers pride themselves on rapid customer response for new features and capabilities.
3. Integration of commercial offerings bundled on top of open source tools
In the commercial SCM and ALM market you’ll find commercial vendors selling Subversion and Git solutions. Version control is a very visible component of an ALM solution, and when a vendor bundles one of them into its solution, that appeals to a market that has already adopted one or the other. On the other hand, a free tool bundled in a commercial package results in the perception of the loss of the free benefit.
4. Startups without the experience of full configuration management capabilities
Developers don’t like administration, and if you put a group of unseasoned developers together, the last thing they want isto put some SCM administration in place. This is actually a selling feature for open source solutions. There is no need to contact vendors or evaluate solutions—just download what everyone else is using. You can find the minimum feature set you need right now.
Experienced developers, on the other hand, recognize the benefits of full ALM solutions. They know it’s best to start out with all the capabilities at hand, especially if that solution increases developer productivity.
5. Marginal benefits of commercial offerings
Just as the cost of some commercial tools can establish the perception that commercial tools are expensive, the functionality of some tools can paint the perception that commercial tools are only marginally better than open source counterparts. And in some cases, that’s true. So why pay?
In my experience, there are several commercial tools out there that will pay for themselves within a few short months and then continue to accrue benefits. It doesn’t take a lot of marginal benefit to cover the license costs of a commercial tool.