Once vehemently opposed to open-source software, Microsoft has warmed to the development model over the years and will now take the unusual step of incorporating an open-source program developed by Linus Torvalds into its own development tools.
Microsoft is integrating the widely used Git, a distributed revision control and source code management (SCM) system, into its Visual Studio IDE (integrated developer environment) and Team Foundation Server (TFS), two of the company's main tools for enterprise developers.
"TFS is a very popular tool in the enterprise, and Git has grown up in the open-source community," said Brian Harry, a Microsoft technical fellow and the TFS product unit manager. "By embracing Git, we want to bridge that gap, so it can be a great tool for both the open-source community and for the enterprise."
TFS is software for managing the application development lifecycle, including requirements management, project management, configuration management, testing and deployment. Microsoft also offers a hosted version of TFS, called Team Foundation Service.
TFS already has a built-in SCM to document and store changes in an evolving code base. But given that development teams are increasingly scattered across different locations, Microsoft wanted to offer a distributed SCM, in which developers can work on local copies of the code, and synchronize their changes to others on the project.
Instead of building a distributed SCM from scratch, Microsoft decided to deploy one already in wide use. "Git was the right answer for us," Harry said.
Microsoft has already recognized the growing popularity of Git among its users. Last year, it released the Git TFS Bridge, which allowed developers to use Git on a local machine, while pushing changes to TFS.
Torvalds started work on Git in 2005 after a licensing disagreement over BitKeeper, the commercial code repository that was used to manage the Linux codebase.
Torvalds designed Git specifically to manage software projects as large as the Linux kernel, which currently has more than 15 million lines of code, is updated every two to three months, and is built collaboratively by thousands of developers worldwide.
Torvalds and his team built the software as a globally distributed repository that would not slow in response times as the code base grows.
The incorporation of Git in TFS will be "a true adoption of Git. It is not 'Microsoft Git,'" Harry said. The company will be using libgit2, the most widely deployed version of Git, written in C.
When creating a new project, users of TFS will now have the choice to use either Git, which will be included in the TFS software package, or TFS' own centralized version control system.
Sign up for CIO Asia eNewsletters.