How Microsoft Learned to Stop Worrying and (Almost) Love Open Source

Microsoft recently gave some code to the Samba project -- one of the company's traditional open source enemies. The move is a sign that when it comes to open source, Microsoft has changed.
Image may contain Human and Person

Sam Ramji insisted that he wasn't joking, that he wasn't crazy, and that he hadn't joined some sort of dark Microsoft conspiracy.

The year was 2006, and Ramji had just been named Microsoft's head of open source software strategy. Up to then, Redmond's most famous contribution to the open source community was CEO Steve Ballmer comparing Linux to a malignant cancer. Even Ramji was skeptical -- and a little afraid -- of his new job.

The job would involve speaking to, in his words, "fairly polarized" audiences across the software world. "Polarized" is a bit of a euphemism. "That was a doubly scary proposition as I was not a public speaker and I knew the audiences quite well," Ramji said later, indicating he too was once part of this hostile audience -- i.e. the open source lovers who hung out on sites like Slashdot.org. "I'd competed with Microsoft for many years in prior companies and used Slashdot as my homepage."

But ultimately, Ramji decided he could help change not only Microsoft -- but also the general perception that the company is the mortal enemy of open source software. Five years later, it's clear that Ramji -- and others working alongside him -- achieved at least part of this rather lofty goal.

Ramji left Microsoft in 2009, but in the wake of his early work, the company is not just paying lip service to the open source community. It's actually open sourcing code to outside projects. And though many still question the company's overall approach to the community -- pointing to the way it wields patents against Google's Android mobile operating system and other Linux-based platforms -- even hard-core open sourcers are acknowledging that the company has changed.

On Wednesday, Christopher Hertel of the open source Samba project -- an effort that was instrumental in the rise of Linux inside the everyday business -- revealed that Microsoft recently contributed some improvements to the project. For him, it was a milestone moment that shouldn't pass without the software world giving Redmond its due.

Samba is a project that recreated Microsoft's Server Message Block (SMB) protocol with open source code, so that Windows desktops could talk to Linux file servers -- not just Windows file servers. It was, in many ways, the classic anti-Microsoft play. Over the years, Microsoft fought open source because it didn't want Linux and other projects competing with its own proprietary software.

"A few years back, a patch submission from coders at Microsoft would have been amazing to the point of unthinkable, but the battles are mostly over and times have changed," Hertel and his fellow Samba contributors wrote of Redmond's recent contribution to Samba. "We still disagree on some things such as the role of software patents in preventing the creation of innovative software; but Microsoft is now at the forefront of efforts to build a stronger community and improve interoperability in the SMB world.

"Most people didn't even notice the source of the contribution. That's how far things have come in the past four-ish years...but some of us saw this as a milestone, and wanted to make a point of expressing our appreciation for the patch and the changes we have seen."

Ice Age Breaks in Redmond

The change is far from sudden. Microsoft has long hosted open source projects on its own CodePlex site -- which Sam Ramji helped launch -- and in recent months, the company has lent its support to big name open source projects hosted elsewhere, including Hadoop, a platform that's spreading like Kudzu across both the web and the business world.

Last month, Microsoft told us that its engineers will build a version of Hadoop that runs on Windows -- it currently runs on Linux -- and contribute the code back to the open source community.

Chris Hertel traces Microsoft's thaw not only to the arrival of Ramji and other open source supporters at the company, including Tom Hanrahan, but to the big antitrust cases the company lost in the US and the European Union. He was an eye witness to the company's shift after the EU case closed in the fall of 2007.

As part of its consent decree with the US government, Microsoft was required to publish documentation for many of its proprietary protocols, and according to Hertel, once the EU case closed too, Microsoft phoned him to ask if he would help publicly document the SMB protocol -- which was previously kept under lock and key.

In other words, Microsoft called up one of the coders who had recreated SMB so that the protocol would work with Linux and other non-Windows operating systems, and it asked if he would help expose the protocol to the world at large. Hertel's company, ubiqx Consulting, spent two years under contract with Microsoft, documenting both SMB and its sister protocol, CIFS.

A year later, Microsoft actually attended the Samba-happy Storage Developer's Conference -- a storage networking industry event Redmond had avoided for years -- and it even sponsored the conference's "interoperability plug-fest," an effort to get disparate storage systems working together. For Hertel, this is all part of an slow evolution towards a Microsoft that plays much nicer with open platforms. At this year's conference, Microsoft previewed the SMB work it's adding to the upcoming Windows 8 -- and provided documentation.

Ron Schnell was the general manager of the Technical Committee that oversaw the company's consent decree with the US government, and like Hertel, he believes that Microsoft's thinking may have changed when it was forced to document its protocols. "Although they may not have seen it as something useful at the beginning, they probably realized as it was happening that it was an important thing to do and that it actually benefited them in the end," says Schnell, who ran the Technical Committee's day-to-day operations from 2005 until it was disbanded in May of this year.

"That could have easily encouraged them to open up more things to the world.”

Small Step or Giant Leap?

When we contacted Microsoft about its contribution to Samba, it provided a brief statement indicating that the open source code was merely the work of a lone individual. But we know from past conversations with the company and with Sam Ramji that Microsoft's open source contributions are more complicated than that. And whatever the story behind the contribution, it's a nice metaphor for the company's gradual evolution.

Microsoft has open sourced code with an outside project, and this project is all about Windows playing nicely with others. "They have embraced open source up and down the line for interoperability," Brian Stevens, chief technology officer at Linux giant Red Hat, tells Wired. "They rightfully get a blackeye for many other things, but what happens is that this overshadows other things they are doing right. I'm not saying they are involved in open source because of good will, but they certainly are involved in open source at a level people don't realize."

Longtime open source pundit Matt Asay goes further, painting the company's Samba contribution as a seminal moment. "Microsoft actively contributes to existing, competitive open-source projects like Samba -- that's news," he says.

"It took 10-plus years to get to this moment, but for me, it's a definitive one and portends a great deal of Microsoft participation in open source for many years to come."

This echoes Hertel's talk of a milestone. But Hertel warns that we shouldn't go too far. "There is a lot of cool stuff going on here," he tells us. "But you can't be completely sure. Microsoft is big company. A lot of the people who were making policy decisions years ago are still there, and there are many situations where the left hand doesn't know what the right hand is doing."

It's also worth remembering that Samba isn't nearly as influential as it once was. "These days, with most applications being on the web or moving to the web, we're much less important," Jeremy Allison, one of the leader's of the Samba project, tells Wired. "We're just a commodity."

Microsoft's Samba patches mean a bit less because the fight has gone elsewhere. Redmond's primary competition is not Linux, but Google -- both on the web and on mobile devices.

Praise for Ordinary Behavior

Jeremy Allison now works for Google, as part of the company's Open Source Programs Office, and like Hertel, he supplies a few caveats when discussing Microsoft's Samba contribution. "This shows that Microsoft has changed the way they compete with open source code. They've realized that open source isn't going to go away, that it can't be driven out of the marketplace, that they have to accept it," Allison says. "But you can also say that, basically, Microsoft has moved on to fighting open source projects with patents."

He says this with a laugh. But the implication is clear. Though Microsoft is now willing to build software that dovetails with open source platforms -- and even contribute code to such platforms -- it's not above pressuring Android phone manufacturers into paying licensing fees for its OS patents or even suing them for patent infringement. Microsoft's approach to Android may or may not be justified, but for open source supporters, it's very much a sin.

Allison also points out that Microsoft's Samba contribution is worthy of praise only because the company was so cold to the open source community for so many years. He says that his boss -- Google open source kingpin Chris DiBona -- doesn't quite see the point of patting Microsoft on the back. "You do realize," DiBona told Allison, "that you're applauding them for doing something you do every day."

"Yeah," said Allison. "I know."