In-Depth

Microsoft's Open Course

Redmond is making bold promises about interoperability and standards, but is the company serious about changing the way it does business?

It was Feb. 29, 2008, and Andy Updegrove had just spent the week in Geneva, Switzerland, to speak at an Open Forum Europe conference. He also kept tabs on the ballot resolution meeting for the Office Open XML (OOXML) specification, which was being held by the International Organization for Standardization (ISO) in Geneva at the same time.

A lot was at stake for Microsoft, and Updegrove for one wasn't happy with what he saw. "The standards tactics are pretty ugly," says Updegrove, a lawyer and frequent Microsoft critic who serves on the boards of the Free Standards Group and the Linux Foundation. "It wouldn't be fair of me to say that this is the dirtiest standards fight that has gone on -- that wouldn't be true. What would be true is that the scope of it is breathtaking. Most standards battles are like the battle of Trenton. This is like the battle of Stalingrad, a battle of attrition to the end."

It sounds like vintage Microsoft. Negotiate fanatically. Leverage key technologies. When pressed, change the rules. And always-always-win.

Yet in the midst of this battle, Microsoft surprised industry watchers by announcing its dramatic "interoperability pledge" on Feb. 21. The company immediately started publishing many of its long-protected APIs and promised to make interoperability a cornerstone of its business strategy.

If Microsoft lives up to its pledge, it could be a turning point for all developers, regardless of how closely they work with Microsoft technologies. Skeptics point out that the announcement dovetails with a $1.3 billion antitrust fine from the European Commission and Redmond's campaign to acquire Yahoo!. Still, it's remarkable that file formats that were once regarded as the keys to the Office-revenue kingdom have been offered up as an industry standard.

"There's a recognition by Microsoft that they can use patents to protect their intellectual property, and they don't have to use secrecy as in the past," says Rob Helm, an analyst with Directions on Microsoft. "I think Microsoft is a little more confident they can compete even when they have formats and protocols out in the open."

Leading up to Microsoft's interoperability pledge, the company in January made good on a promise to release for review the source code for the .NET Framework, so developers could better assess and debug code interfacing with the Framework.

Microsoft says the interoperability pledge, which kicked off with a three-day Interoperability Lab event in Cambridge, Mass., marks a strategic change of course for the company.

"This is a fundamental change of course for the company to make it easier for third-party products to interoperate with Microsoft products the same way our products do," says Tom Robertson, general manager of interoperability and standards at Microsoft.

Gabor Cselle, Vice President of Engineering, Xobni Corp. "This is a fundamental change of course for the company to make it easier for third-party products to interoperate with Microsoft products the same way our products do. "
Tom Robertson, General Manager of Interoperability and Standards, Microsoft

'Like Ant Poison'
Not everyone is buying what Robertson hopes to sell. Jim Zemlin, executive director of the Linux Foundation, says Microsoft simply fails to go far enough to indemnify developers who hope to write software based on Microsoft's opened intellectual property (IP). He complains that protections often exist only for what Microsoft terms "non-commercial developers."

"Unless it addresses the entire supply chain, it doesn't make a lot of difference," Zemlin says, arguing that ill-defined boundaries of legal protection under the Microsoft scheme may expose open source developers to threat of litigation.

"Think of it like ant poison. People who are non-commercial developers think, 'I'm safe.' They then integrate a patented protocol into the upstream code they're working on. Then that code somehow gets into the downstream," Zemlin explains. "Well, that's like taking poison back into the [nest]. What happens is, inadvertently, an open source developer brings insecticide with a patent license requirement into an open source project."

It's a chilling hypothetical and one that concerns Updegrove with the OOXML effort. He argues that Microsoft's Open Specification Promise-essentially a legal assurance not to sue developers for using Microsoft IP -- fails to fully illuminate the landscape for open source developers.

Zemlin"When you look at the Open Specification Promise as it relates to OOXML, they talk about having the pledge apply to patents relating to portions of the specification that are, 'sufficiently detailed,'" Updegrove says. "That's kind of ironic, since they wrote it. It's Microsoft's fault if it's not sufficiently detailed, not the market's."

Updegrove says developers are often caught in a "fog" where the legal implications of extending OOXML functionality are unclear. He contends Microsoft is working to blunt progress of the competing OpenDocument Format (ODF), an open source, XML-based file format standard.

"They withheld this information before to keep [developers] locked in. And now they're releasing it to keep them locked in, by undermining the value of products -- ODF products -- to keep them from going to the competition," Updegrove says. "One might almost call it cynical."

Cause and Effect
The timing of Redmond's interoperability pledge certainly leaves room for cynicism. The company launched the effort just four days before the European Commission publicly levied a staggering $1.3 billion fine against Microsoft for failing to comply with earlier rulings addressing interoperability and access to code and documentation.

"I suggested two things," says Updegrove of the moment he heard about the Microsoft interoperability pledge. "Either this was required by the European Commission, or the European Commission was about to come out with the bombshell and Microsoft was trying to make it look less bad. And that's exactly what happened."

But Peter O'Kelly, an analyst with Burton Group, says Microsoft seems sincere despite the suspect timing. He points to Microsoft's support for efforts such as Miguel de Icaza's Mono and Moonlight projects, which enable Linux-based distributions of the .NET Framework and Silverlight rich Internet application (RIA) runtime.

Redmond is engaged in numerous other open source or open source-like ventures. Zend Technologies Ltd. partnered with Microsoft to significantly improve support for the open source PHP scripting language in Internet Information Server (IIS) 7 and Windows Server 2008. Microsoft also produces .NET implementations of Ruby and Python -- called IronRuby and IronPython -- under the permissive Microsoft Public License.

"If Microsoft weren't more committed to being interoperable and using their stuff all the way down to the bare metal, you wouldn't be seeing that," O'Kelly says. "Customers are telling them interoperability is critical."

What's behind the activity? Government regulation is certainly a factor, but de Icaza credits the rise of key leadership within Microsoft. He singles out the influence of Microsoft Developer Division Vice President Scott Guthrie, who rose up from the Web development ranks to lead some of Microsoft's most critical development products.

"I get the feeling just from talking to people and Scott's track record that he's a big influence in this internal change in Microsoft," says de Icaza. He also mentions the efforts of Microsoft executives like IronRuby's Jim Huginin, IronPython's John Lam and Senior Program Manager Phil Haack.

Ultimately, says Paul DeGroot, an analyst for Directions on Microsoft and a columnist for RDN's sister publication Redmond Channel Partner, the company faced a painful choice: Respond to the changing realities of a market moving increasingly to Web services and open standards, or ignore them. To its credit, he says, Microsoft is moving to address that change.

"I'd really like to believe that there's a solid case for interoperability from Microsoft going forward. There are all kinds of upside for the company," DeGroot says. "We're talking about a company that's starting from a dominant position, and the only way it loses that dominant position is when it fails to adapt."

Winds of Change

Over the past two years, Microsoft has rolled out a series of key initiatives aimed at improving interoperability and promoting openness. Among them:

  • .NET source code released: Developers welcomed the January 2008 release, which allowed review of underlying code for debugging and code review.
  • PHP development: Microsoft partnered with Zend Technologies Ltd. to improve PHP support in Internet Information Services 7 and Windows Server, despite PHP being a direct competitor to ASP.NET.
  • CardSpace interoperability: Microsoft sponsored open source projects around CardSpace to broaden support, including support for the OpenID project.
  • Office Open XML (OOXML) file formats: Microsoft promoted OOXML as an Ecma and International Organization for Standardization (ISO) industry standard to replace the closed, binary formats of Office.
  • Microsoft interoperability pledge: Microsoft loosened access to key APIs and protocols, and launched a strategic, four-point program aimed at improving interoperability with third-party solutions.
  • Windows Vista virtualization licensing eased: Microsoft suddenly reversed course and allowed virtualization of lower-end SKUs of Windows Vista. A legal complaint by Phoenix Technologies Ltd. was likely at least part of the reason for the move.
  • IE8 emphasizes standards: Another sudden reversal ensured that IE8 would, by default, support W3C standards, rather than favor the proprietary quirks of pages written for the IE7 browser.
  • Mono and Moonlight: Microsoft provided formal support and endorsement for the Novell Inc.-led efforts to create Linux versions of the .NET Framework and Silverlight runtime.
-M.D.

Back and Forth
One issue that seems to underlie concerns expressed by Updegrove, Zemlin and other Microsoft critics is that the company hasn't opened its IP nearly enough. Narrowly defined permissions and access could, they say, result in a trap of sorts, where developers end up with compromised IP.

O'Kelly, for one, isn't worried. He says any effort by Microsoft to retreat from its current positions would be disastrous.

"One of the reasons why I'm pretty confident they're not going to pull the rug out from under anybody is they are reasonable people," O'Kelly says. "That is, they're rational. What's the opportunity cost of cheating? Well, the opportunity cost of that is infinity."

O'Kelly poses as an example the recent and unexpected decision by Microsoft to have its forthcoming Internet Explorer (IE) 8 Web browser conform tightly to World Wide Web Consortium (W3C) standards by default. Previously, the browser was to be optimized for Web pages tuned for IE7, a setting known as "Quirks Mode." To get full support for Cascading Style Sheets (CSS) and other Web standards, developers would have to force IE8 browsers into what Microsoft was calling "Super-Standards Mode."

Developer Advice

Take it seriously. DeGroot says developers can rest assured Microsoft isn't laying some elaborate trap: "It would seem to me kind of odd for Microsoft to go to the trouble of working all this out ... and then go around and hammer people the instant they do things Microsoft doesn't like."

Go slow. The legal landscape around licensing-for both Microsoft and open source-remains fluid. Until licensing rules are fully tested in court, a lot of uncertainty will remain.

Check your assumptions. Says O'Kelly: "I don't think Microsoft is as bad as the detractors would have you believe, and I don't think some of their competitors are as exclusively out there for the betterment of humanity and the industry as some of their boosters would have you think."

Go to the source. Microsoft is doing a lot, but the most important driver in the arena of interoperability is the W3C. More than any individual vendor or standards body like the ISO or Ecma, the W3C is worth paying close attention to.

Know what you need. O'Kelly urges dev managers to keep asking themselves what they're trying to accomplish. Make an objective assessment of what you need to be more productive, and work from there.
-M.D.
The decision drew broad praise from developers, who for years have struggled to support multiple, distinct browser platforms. But developer Edward Eaglehouse harbors no illusions about Microsoft's motivations.

"The way I see it is Microsoft is trying to retain the lion's share of the market by making IE less distinctive from other browsers, thereby making it less likely people will migrate to other software to get what they want," Eaglehouse says. "I don't think for a minute this is about Microsoft taking the high road: It's about marketing, and that's what they do best."

In short, it seems Microsoft has decided that it has more to lose than to gain by maintaining airtight control of its IP. That's why, says Microsoft's Robertson, the company has already released more than 30,000 pages of protocol documentation. The company will continue to release additional documentation in the weeks and months to come, he says.

"We've been on a path of greater and greater focus on interoperability for some time now," Robertson says. "With the interoperability principles announcement we've taken a bold step beyond what we were doing and saying. Now, for the first time ... we're going to take this holistic, encompassing approach to enable third-party interoperability with these products."

Challenges Ahead
Microsoft has significantly opened access to APIs, protocols and other IP, and has made significant moves to support open standards and enable interoperability. But DeGroot would welcome more strategic vision from Microsoft.

"I'd say for now they have no single kind of coherent strategy for dealing with this. So we're going to continue to see a lot of ad hoc changes," DeGroot says.

With the European Union sending some very clear messages and enterprise customers demanding interoperability and standards compliance, Microsoft seems committed to changing course. The question is: How will the company manage the transformation?

"It's not clear to me that they have the management team in place to run this company really well in a world in which Microsoft products have to not only interoperate with each other, but with other people's stuff," says DeGroot. "It's not that the management team is bad, [but] I'm not sure that they have the vision or the leadership at the top that they need to be really successful at that."

The jury is still out, he adds. "It's a serious, serious challenge they're facing now, and I'd say it's a better-than-even risk that they may not make the adaptation in the long run," he says. On the other hand, he warns: "It's really, really critical not to underestimate what Microsoft can do when it competes."
comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube