July 26, 2011, 5:08 PM — Git, the open source distributed software version control system pioneered by Linux founder Linus Torvalds in 2005, is now gaining real momentum with developers. But don't count out rivals like Mercurial and the still-dominant Apache Subversion platform.
In the past three years, the Eclipse Community Survey on open source development has seen Git grow from 2% adoption in 2009 to nearly 13% this year, says Forrester analyst Jeffrey Hammond, who has assisted with the survey. "Pretty impressive," he says. "It's one of the reasons Eclipse has adopted Git as a supported alternative to Subversion for Eclipse projects."
[ Also on InfoWorld.com: Paul Krill reports that continuous integration is taking hold in software development shops. | Peter Wayner surveys a dozen more open source programming tools on the rise. | Keep up on the latest news and insights on programming with InfoWorld's Developer World newsletter. ]
Git also is gaining in adoption among the Ruby community, open source projects, and younger developers, Hammond says. "There's a joke on our team: Show me a developer under 24 and I'll show you a Git user." IDC analyst Al Hilwa also sees the growth spurt: "It appears to have taken the world by a storm. Of late, it sure appears that Git is being used more than its competitors for open source projects."
Torvalds cites a change in attitudes as assisting with adoption of distributed version control and Git. "I think what has happened is that it took even kernel people a few years to get used to the whole distributed model, and now a lot of the people who were early adopters -- both inside and outside the kernel community -- have caused the model to become much more widely known and understood," he says. "Once you really understand the things that a truly distributed model like Git brings to the table, you really are never going to go back to the centralized model."
Torvalds says he designed Git when BitKeeper, which also offered a distributed source control model, became what he described as "politicized." His three main design goals included support for true distributed software development, strong data safety, and strong performance.