simon_phipps
Columnist

Has Microsoft finally embraced open source?

analysis
Feb 1, 20136 mins

By implementing Git in its developer tools, Microsoft is using GPL-licensed software -- and perhaps ending its war on open source

News broke Wednesday about Microsoft adding support for Git to Visual Studio, both in the client — so that it can be used to work against any Git DVCS (distributed version control system) such as Gitorious or GitHub — and on the server. The upshot is twofold: Those using Microsoft’s proprietary centralized version control have a new escape route, and GitHub has a new competitor.

For me, the really interesting dimensions of this news were not so much about Microsoft’s embrace of distributed version control, which is a simple matter of market forces, but rather what support for Git says about Microsoft and open source.

[ Also on InfoWorld: App stores can be open source-friendly. Just ask … Microsoft? | Learn how to install Apache on Linux in InfoWorld Test Center’s step-by-step guide. | Track the latest trends in open source with InfoWorld’s Technology: Open Source newsletter. ]

Evidence of a warming trend

Microsoft has been on a charm offensive toward the open source community-of-communities for several years. Before that, it had been simply offensive, as epitomized by CEO Steve Ballmer’s infamous assertion that Linux is a cancer — to my knowledge, an epithet he’s never withdrawn. (For more on Microsoft’s historic hostility toward open source, check out the notorious Halloween Documents.) But at some point in the last few years, Microsoft’s strategists finally wised up to the fact that, while they still feared open source, it was better to make peace.

We’ve recently seen three stories representing different fronts in that campaign. Last week I wrote about the extraordinary and welcome changes to the Windows Phone developer terms that actively favor open source licenses. The start of this week saw Microsoft recruit a prominent Apache community member, board member Ross Gardler, to its open technologies staff.

Then the Visual Studio news contained multiple elements, and Microsoft is clearly aware of the novelty they represent. First, Microsoft’s product team leader felt the need to point out a lack of hatred toward open source in his blog: “In my own area, we dabbled (and in some cases made missteps) as we’ve learned our way [but] this is a pretty big milestone for us. This is certainly the first time that my team has engaged so deeply in an existing OSS project.”

Second, and much more interesting at a technical level, Microsoft has chosen to implement Git rather than invent its own DVCS. The company has implemented it using an open source library, libGit2, which is also extensively employed by GitHub — a competitor to Microsoft’s Team Foundation Service. If collaboration with a competitor wasn’t remarkable enough, libGit2 is licensed under the GPLv2, once declared cancerous by Ballmer as mentioned above. That’s been made possible by a generous “linking exception” in the libGit2 licensing, but remains surprising to anyone who’s observed Microsoft’s historical antipathy toward the GPL. Microsoft isn’t just using the code — it’s also listed as a contributor.

Corporate confusion

Does this mean the war is over? No — in the same week, Microsoft mounted an attack in Germany on the City of Munich, citing a secret report it had commissioned from HP Consulting and claiming the Munich city government was not telling the truth about the costs of its Linux-based desktop system. Commissioning a report to discredit a noncustomer’s use of open source is hardly the act of a supporter.

The reason for this apparent hypocrisy is no company of any scale acts as a single entity. Companies may be regarded as if they are a single person for some legal purposes, but that legal fiction is a metaphor that should not be stretched beyond its purpose of simplifying property ownership and taxation. Companies are not people; they are mechanisms serving their shareholders. I’ve worked for three giant global corporations in my career, and every one of them has been a network of warring factions and differing intentions.

Corporations don’t act consistently because every time you encounter them, you’re actually dealing with a different unit within the corporation, a different team within a unit, a different employee within a team. A corporation is a community, too. These real people come with their own experiences, education, methods, and motivations, and they approach problems and opportunities their own way. For there to be a consistent approach, either the workforce has to be uniform to the point of cloning or their actions have to be known, understood, and regulated by others in the corporation. For that to happen, someone somewhere with authority over their work needs to believe it is in their interests to regulate. Most of the time that doesn’t happen, especially without a designated and empowered executive ensuring open source consistency.

The winding road to enlightenment Microsoft is on a long march toward accepting the market inevitability of open source, but the right foot doesn’t always know what the left is doing. The company is still fighting open source on the desktop, while staying mostly silent about its taxation of open source usage (in the form of “royalties” for supposed software patent infringements, in return for promising not to litigate). Other teams see the wisdom of nonconfrontation, while some — such as the developer tools team — seems to want to engage in a positive way.

When corporations embark on such a journey, it remains smart and reasonable for communities to assume that previous behavior will continue until a clear pattern of experience shows otherwise. Just because part of a company is engaging positively, that doesn’t automatically fix a decade of hostility and dirty tricks. The “bad karma” those collective actions earned will take a while to reverse — maybe as much time as was spent earning it in the first place.

Corporations can change. But without an adjustment of overall leadership coupled with a spreading shift of corporate culture, it’s unlikely open source communities will — or should — acknowledge that change. We need to see a consistent demonstration of good faith from all parts of the corporation, not just the parts with a focus on open source.

This article, “Has Microsoft finally embraced open source?,” was originally published at InfoWorld.com. Read more of the Open Sources blog and follow the latest developments in open source at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

simon_phipps

Simon Phipps is a well-known and respected leader in the free software community, having been involved at a strategic level in some of the world's leading technology companies and open source communities. He worked with open standards in the 1980s, on the first commercial collaborative conferencing software in the 1990s, helped introduce both Java and XML at IBM and as head of open source at Sun Microsystems opened their whole software portfolio including Java. Today he's managing director of Meshed Insights Ltd and president of the Open Source Initiative and a directory of the Open Rights Group and the Document Foundation. All opinions expressed are his own.

More from this author