Expect growing use of Git/GitHub, Mercurial, and the like in 2011
Forrester Research analyst Jeffrey Hammond tweeted, "A sign that Git has arrived," and linked to a press release from WANdisco, a key vendor behind the centralized VCS open source Subversion project. According to the press release:
"Enough is enough," said David Richards, president and CEO of WANdisco. "Subversion gets a lot of criticism due to the shortcomings of branching and merging, especially when compared with Git and others, and we simply don't have the time to debate whether or not this should be done when it clearly should be."
As a result, WANdisco will devote resources to improving Subversion's branching and merging capabilities. The press release clearly demonstrates that the growth of Git and other distributed VCSes are raising concerns for WANdisco and some of the largest users of Subversion.
GitHub, a Git-based online community for collaborative development, counts more than 508,000 users hosting 1,524,000 Git repositories as of this week. According to RedMonk analyst Stephen O'Grady's analysis of repository type mentions on Hacker News, distributed VCSes account for 86.5 percent of repositories mentioned and 82.1 percent of the total mentions are for Git alone. As O'Grady explains, "This dataset is interesting not because it is representative of developers as a whole, but rather because it's a community of technologists who are collectively ahead of the curve."
Prepare for distributed version control in your enterprise
The growth of Git, GitHub, and the forthcoming changes to Subversion give IT decision makers a reason to consider distributed VCSes in 2011.
As with any shift in the software industry, I advise decision makers to experiment with a distributed VCS on a small project to gain experience without affecting business-critical systems or projects. A small trial project could help identify internal process changes required when shifting from the current centralized VCS to a distributed VCS.
Keep in mind that distributed VCSes provide a complete copy of a project's source code on a developer's local computer. If your current development practice requires that only portions of the source code tree be available to certain developers, you'll need to use multiple repositories to represent an overall project and restrict developer access to the appropriate repositories.
Additionally, if your developers use laptops and there is a risk of the laptop being lost or stolen, consider that the entire source code to the project is now on the laptop, versus just a branch in your traditional centralized VCS.
Finally, plan for training to help developers familiar with centralized VCS approaches learn how to quickly become productive in a distributed VCS environment.
None of these cautions should be viewed as reasons to not consider using a distributed VCS in your development environment in 2011. Get ahead of the curve with a distributed VCS. If developer views on GitHub are an indication, your developers will thank you.
This article, "Forking will become normal in 2011, so get ready for GitHub," was originally published at InfoWorld.com. Read more of Savio Rodrigues' Open Sources blog and follow the latest developments in open source at InfoWorld.com.