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 percent adoption in 2009 to nearly 13 percent 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.
Git's advantages over Subversion and Mercurial
"Git has been gaining share for open source development largely because of its distributed architecture. It is designed by Linus Torvalds and used for Linux itself, so that gives it great credibility," says IDC's Hilwa. "Being distributed and having a native command-line interface does not make it easy, but there are plug-ins for the major IDEs."
"The Android project, for example, has been a really big driver of Git adoption because it uses Git to take contributions," notes Scott Chacon, a Git evangelist. Large telecommunication companies must now use Git to participate in Android development, he adds.
So what's so great about Git? For one, "you can have multiple nodes" and push changes to them, Chacon says. He is part owner of GitHub, which provides a hosting platform for Git that has about 830,000 users. (He estimates the number of Git users to be in the millions.)