Wednesday, January 30, 2013

Microsoft Embraces Git in Team Foundation Server

By David Rubinstein
Recognizing the popularity of distributed version control in general and Git in particular, Microsoft today has announced it is now hosting Git on Team Foundation Service. It also announced a preview of a plug-in for Visual Studio 2012 that enables you to work with Git hosted on a Team Foundation Server.

According to Brian Harry, Microsoft technical fellow on the Team Foundation Server team, when a user creates a project on the Team Foundation Service, it will give that user a choice of creating Team Foundation Version Control or Git version control. “All of our full Web experience will work with the Git version control,” he said. As for the Visual Studio 2012 plug-in, it will work with Git hosted on Team Foundation Server as well as with GitHub or, Harry said, any other Git you want. The key piece there is the libgit2 library, which can interface with Git repositories hosted in any service and any platform, just like the Git command-line client does right now.  “Git is the back-end repository stuff, and it’s the (TFS) ALM workflow over the top of that which makes it a great solution, and we are absolutely building a first-class ALM workflow, team workflow, over top of Git.”

Adding to the enterprise features are integrating Git with Active Directory and Identity, so corporate credentials work with the repository, as well as auditing and security, Harry said. “Things like online backup and restore, clustering/high availability, peer replication … we’re bringing things we think will make Git more approachable in the enterprise than it has been to date.”

The effort on Git has been going on for some time now, Harry said, explaining that after Team Foundation Server 2012 was complete, the team began to look at patterns and trends in the industry as they relate to modern application development, with its device-connected cloud applications and distributed teams creating applications that are loosely coupled small components stitched together. And they found a groundswell of interest in distributed version control.  “When we chose to go the route of Git, one of the things that was clear was that that path involved deep involvement with the OSS community,” Harry said. “Git has come a long way in the OSS community, it’s got a lot of passion there and a lot of people who contributed to it. This choice was really a choice to step away from a proprietary path and go with an OSS path, and that means not only consuming and providing the open source, but actively contributing to the Git community. We have been for the past I’d say close to 6 months very active in the Git community.”

Microsoft, Harry admitted, tried to fly under the radar in the Git community at first, until the company was ready to discuss its plans, but he said “The GitHub guys figured it out fast. They saw us contributing a bunch and were a little surprised and wanted to know what we were doing so we chatted with them a bit about it.” That led to a collaborative effort to bring Git forward on Windows and in Visual Studio. The goal for Microsoft was to make Git “really work in the enterprise,” he said.

Vicent Marti, who works at GitHub and maintains the libgit2 library, said of Microsoft’s efforts: “Microsoft has been embracing more and more open source lately,
especially rregarding developer tools. In this specific instance (version control), Microsoft has traditionally invested on centralized proprietary version control, but it's rather obvious to
Vicent Marti

me that when it comes to distributed version control, Git has won the battle and there's no contest about it. Microsoft seems to believe that too, and
I think it's a great thing that Redmond is currently willing to bet on a winning horse, even if it's open source.”

Marti went on to add that the work with Microsoft on libgit 2 was critical to making Git “a native citizen in the Windows world.”

The work in the Git community continues Microsoft’s move down the open-source path. “In TFS, we offered an Eclipse/Java solution. It’s been three years or so since we introduced that and really began our efforts to embrace the open-source community, doing Jenkins integration and all of that,” said Brian Harry, a Microsoft technical fellow on the Team Foundation Server team. “This is to some degree kind of the next step on that path. At least within Developer Division, it’s been one of the biggest and most high-profile efforts to really go out and engage with and contribute to an existing open-source project kind of as peers in a fully participatory way. There’s been some learning for us there as we’ve gone through that, but so far I think we’ve had a really good relationship with the other contributors on the project, and it’s been good for us, and I hope good for them.”

That’s something we particularly in developer division have been gradually moving down that path for a while.

BTW…  What IS libgit2?
Vicent Marti, maintainer of the libgit2 library project, explained:
“libgit2 is a rather ambitious open-source project we've had at GitHub
for over two years now. The goal is to re-implement all Git functionality in the shape of a re-entrant C library, in a natively cross-platform manner and with proper error handling. We currently use libgit2 in our desktop clients (GitHub for Windows and GitHub for Mac) and in our back-end architecture for GitHub.com and Gist.

Microsoft joined the project pretty late on its development, but their contributions have been critical to making libgit2 as complete and powerful as it is now, especially when it comes to Windows support. We've always had Windows on mind while developing the library (it's the only Git implementation that runs natively on top of the WIndows
API), but thanks to Microsoft's support, libgit2 --and hence Git—now feels like a true native citizen in the Windows world.

There was a lot of additional work required to make libgit2 (a C library) interop with the .NET world, but this is a task we undertook long ago: libgit2sharp are the open-source .NET and Mono bindings for libgit2, carefully maintained by Emeric Fermas (a good friend, but not a GitHub employee). We were already using libgit2sharp to power GitHub for Windows, our Windows client written in C#, but Microsoft's help on brushing up the bindings has been very welcome.

Thursday, October 7, 2010

Where are the best developer hangouts?

We're looking for the best places to go to run into developers in your town. Where do you go when you want nachos and some .NET talk? Or, a beer, burger and Java? We'd like to know. Send us your suggestions for best developer hangouts in the comment section below, and we'll put it all together on our website.
-- David

Friday, May 8, 2009

Community Choice Awards

There's no slime nor trophies shaped like blimps like at the Kid's Choice Awards (I know this because I have a 9-year-old), but that program don't have a monopoly on honoring wacky categories such as "Worst Movie Kiss." SourceForge has announced the nomination period for its fourth annual Community Choice Awards is open, with prizes to be given out in 12 categories. Among them: "Best Project for Academia" and "Most Likely to Change the Way You Do Everything." There is no panel of judges to decide the winners, because "we want the open source community to tell us, first hand, what the most exciting projects are," said Ross Turk, the director of community for SourceForge. Projects do not have to be hosted on SourceForge to be eligible, and nominations will be accepted until May 29. The winners will be announced on July 23 at a party at the Agenda Lounge in San Jose, Calif, during the week of OSCON, the Open Source Conference. Should be quite the affair.
-- David Rubinstein

Friday, April 24, 2009

An Agile Process Maturity Model

I've begun reporting out the June 15 special report on Agile Development, and just got off the phone with IBM's Scott Ambler. He indicated the company has created an Agile Process Maturity Model, which will be detailed in a white paper due out in the next week or so. The maturity model defines three levels of agile process maturity. The lowest level is implementation by small, co-located teams using point tools for such tasks as continuous integration and testing, perhaps using Scrum or XP for collaboration. The next level demonstrates a more disciplined, full lifecycle approach and adds a level of governance. The third level is what Ambler called "disciplined agile at scale." Some critics have called this a mythical level, but Ambler details this in a very recent blog post. This links to a page on IBM's developerworks site, which had been down for maintenance, but check back.

Lining up more interviews now for the rest of this report.

-- David

Wednesday, December 17, 2008

Thursday, December 11, 2008

Where does 'Dublin' leave BizTalk Server?

Last Friday, I caught up with Microsoft's Burley Kawasaki, director of product management in the company's Connected Systems Division, and asked him a question that had been burning in my mind ever since he briefed me on Microsoft's "Dublin" application server technology: Where does Dublin leave BizTalk Server?

Dublin is an add-on that extends Windows Server's Application Server Role with infrastructure code to handle composite applications that have workflow oriented processes. Put simply, it executes XAML-based applications. That is significant because Microsoft's upcoming "Oslo" wave of development products serialize "M" application models into XAML. That made me question why customers would be to install BizTalk.

Dublin is complementary to BizTalk; it targets different workloads, Kawasaki said. "Integration [which BizTalk provides] is a separate [need] from customers that want to build customer applications and have an application server to run it in." Dublin and BizTalk will remain separately packaged offerings, he added. "They will be used together in many cases."

For example, BizTalk will be required when an application needs to connect to a mainframe, or conversely, when an ESB needs to connect to a back end, yet needs custom application logic, he said. Kawasaki acknowledged that Microsoft needs to provide more customer guidance.

"BizTalk will continue to be a key component in the Dublin/Oslo world. However, just how it will fit in is still a bit murky. I expect more announcements on this front in the near future," Forrester principal analyst Ken Vollmer wrote in an e-mail.

Wednesday, December 10, 2008

Dance Dance, Robot


If you've ever wondered what European robotics developers do in their spare time: they prepare their hexapods to dance!