451 CAOS Theory 
A blog for the enterprise open source community
What Microsoft’s open APIs mean for open source
Matthew Aslett, February 21, 2008 @ 11:30 am ETMicrosoft has announced that it is to provide rivals and partners with free access the APIs and protocols it uses to ensure interoperability between its core products (Windows Vista and Server, Office, SQL Server, Exchange and SharePoint), as well as a new strategy that is focused on open access, portability, open standards and engagement with the open source community.
The announcement has implications for the entire technology industry, but also specifically open source. Here is The 451 Group’s take on the announcement:
“Nudged by the European Union’s Court of First Instance, but more likely the result of a hard look at market dynamics and the competition, Microsoft has opened up its APIs and pledged to work more openly with the rest of the industry, including the open source community, on interoperability and standards issues. It’s an acknowledgment that in today’s world, many more flowers bloom when platform companies make their APIs completely open for developers to write to, a la Google and MSFT’s recent investee, Facebook. This is yet another thing Google has taught the largest software company in the world. It appears on the face of it that Microsoft now intends to live by the merit of its products, rather than rely on lock-in.
“As a result, developers should gain the potential to tie applications more closely into Microsoft’s Windows, SQL Server, Office and Exchange Server products with greater flexibility and innovation, perhaps through self-sustaining developer communities. SharePoint could also benefit from a platform approach, becoming a de facto central application for large segments of the market. And Microsoft is aiming to make open source applications run as well on Windows as they do on Linux, enabling it to continue competing against Linux while at the same time accepting and working to support open source projects.”
As for the open source implications:
It is worth noting that the new strategy will see Microsoft providing a list of the patents and patent applications that relate to the protocols and formats it uses for the named products. This should mean that open source developers are able to identify some of the 235 patents Microsoft previously claimed were infringed by free and open source software and will be able to license them (on RAND terms), attempt to develop around them, or challenge their legitimacy.
Additionally, while there are a number of drivers behind this announcement (the European Court of First Instance rejection of its appeal, the growing adoption of web services and SaaS) the announcement shows that the open source/open standards movement has demonstrated that an open approach can be more fruitful in developing partnerships and business opportunities.
Of course by opening up Microsoft could take the wind out of the sails of open source. Making its APIs and protocols freely available makes them closer to de facto standards and could potentially reduce drive to develop direct alternatives. The approval of OOXML as an ISO standard is crucial to maintaining Office’s market share of course (and let’s not forget the ballot resolution meeting that will decide OOXML’s fate is just days away).
Then of course there is the fact that Microsoft is happy to see open source software succeed – as long as it is deployed on Windows. While Windows-Linux interoperability does come in to play here, encouraging open source development on Windows is a bigger driver. Microsoft is happier limiting its competition with open source to Linux.
Meanwhile, despite the speculation elsewhere, Microsoft’s promise not to sue developers of open source projects for infringement of patents, as with the Novell agreement, is limited to non-commercial open source developers, which is of questionable value in reality.
And the announcement doesn’t quite level the playing field just yet. While the APIs and protocols are open and the patents are licensed on RAND terms, distaste for the patent system will prevent many FOSS advocates taking advantage of the program, and Microsoft still has source code- and wider patent-licensing agreements at its disposal for select partners.
All that said, this is clearly a welcome move from Microsoft and a potenially industry-changing initiative that will confound some of its strongest critics.
Comments (8) Categories: Licensing,Linux,Software




What Microsoft’s open APIs mean for open source…
Interesting point at feeds.the451group.com…
Open the source code. Open the development trees!
It’s probably better that they don’t open source their code. The open source community can produce much cleaner code if they’re just given the proper apis/specs to work with instead of wracking brains trying to figure out MS’s spaghetti code.
Where’s the beef?
*****************
Talk about being long on rhetoric, but they did forget to add at least one thing, “and we will bring about world peace through cooperation with our partners”.
What is “Enhancing Office 2007 to provide greater flexibility of document formats” supposed to mean? That can mean anything.
Other phrases that fall into this “it can mean anything but it sure sounds good” bucket:
>> To promote user choice among document formats, Microsoft will design new APIs for the Word, Excel and PowerPoint applications in Office 2007 to enable developers to plug in additional document formats and to enable users to set these formats as their default for saving documents.
>> Launching the Open Source Interoperability Initiative. To promote and enable more interoperability between commercial and community-based open source technologies and Microsoft products, this initiative will provide resources, facilities and events, including labs, plug fests, technical content and opportunities for ongoing cooperative development.
>> Expanding industry outreach and dialogue. An ongoing dialogue with customers, developers and open source communities will be created through an online Interoperability Forum. In addition, a Document Interoperability Initiative will be launched to address data exchange between widely deployed formats.
>> The Interoperability Executive Customer (IEC) Council, an advisory organization established in 2006 and consisting mainly of chief information and technology officers from more than 40 companies and government bodies around the world, will help guide Microsoft in its work under these principles and actions. The full text of Microsoft’s new Interoperability Principles, and a full list of the actions Microsoft is taking, can be found on Microsoft’s Interoperability site.
>> The interoperability principles and actions announced today reflect the changed legal landscape for Microsoft and the IT industry. They are an important step forward for the company in its ongoing efforts to fulfill the responsibilities and obligations outlined in the September 2007 judgment of the European Court of First Instance (CFI).
>> “As we said immediately after the CFI decision last September, Microsoft is committed to taking all necessary steps to ensure we are in full compliance with European law,” said Brad Smith, Microsoft general counsel. “Through the initiatives we are announcing, we are taking responsibility for implementing the principles in the interoperability portion of the CFI decision across all of Microsoft’s high-volume products. We will take additional steps in the coming weeks to address the remaining portion of the CFI decision, and we are committed to providing full information to the European Commission so it can evaluate all of these steps.”
[We know what compliance always means in this context: word not spirit of law.]
>> Specifically, Microsoft is implementing four new interoperability principles and corresponding actions across its high-volume business products: (1) ensuring open connections; (2) promoting data portability; (3) enhancing support for industry standards; and (4) fostering more open engagement with customers and the industry, including open source communities.
>> “These steps represent an important step and significant change in how we share information about our products and technologies,” said Microsoft chief executive officer Steve Ballmer. “For the past 33 years, we have shared a lot of information with hundreds of thousands of partners around the world and helped build the industry, but today’s announcement represents a significant expansion toward even greater transparency. Our goal is to promote greater interoperability, opportunity and choice for customers and developers throughout the industry by making our products more open and by sharing even more information about our technologies.”
>> According to Ray Ozzie, Microsoft chief software architect, the company’s announcement reflects the significance that individuals and businesses place upon the ease of information-sharing. As heterogeneity is the norm within enterprise architectures, interoperability across applications and services has become a key requirement.
>> “Customers need all their vendors, including and especially Microsoft, to deliver software and services that are flexible enough such that any developer can use their open interfaces and data to effectively integrate applications or to compose entirely new solutions,” said Ozzie. “By increasing the openness of our products, we will provide developers additional opportunity to innovate and deliver value for customers.”
>> “The principles and actions announced today by Microsoft are a very significant expansion of its efforts to promote interoperability,” said Manfred Wangler, vice president, Corporate Research and Technology, Software and Engineering, Siemens. “While Microsoft has made considerable progress on interoperability over the past several years, including working with us on the Interoperability Executive Customer Council, today’s news take Microsoft’s interoperability commitment to a whole new level.”
>> “The interoperability principles and actions announced today by Microsoft will benefit the broader IT community,” said Thomas Vogel, head, Information Management, Novartis Pharma. “Ensuring open connections to Microsoft’s high-volume products presents significant opportunities for the vast majority of software developers, which will help foster greater interoperability, opportunity and choice in the marketplace. We look forward to a constructive, structured, and multilateral dialogue to ensure stakeholder-driven evolution of these principles and actions.”
I’ll summarize all of these comments with one phrase: Vista is the most secure Microsoft OS ever [or so said this same Microsoft]
Now, I did leave a few paragraphs out because they provide some actual details that on the surface appear like something truly amazing is being given away. Let’s take these one by one (there are 6).
>> The interoperability principles and actions announced today apply to the following high-volume Microsoft products: Windows Vista (including the .NET Framework), Windows Server 2008, SQL Server 2008, Office 2007, Exchange Server 2007, and Office SharePoint Server 2007, and future versions of all these products. Highlights of the specific actions Microsoft is taking to implement its new interoperability principles are described below.
Nothing of substance has been said to this point, but some things come to mind.
What is the *exact body of code* that is defined by these specifically named “high-volume” products?
Can you for example factor out of these products much interesting capabilities and call it a “plug-in” or a “library” or a “module” or a “component” or an “cooperating object” or any of 50 zillion other fancier terms so that all alleged promises do not apply to them?
Is Microsoft developing new vocabulary to make things even easier on themselves?
What the hell is “high-volume”? Who determines that and how can it change?
For how long will any of these promises apply?”
Will they apply to Windows Server 2009? Will it apply to Windows Server 2008v2?
[excuse me while I go on a rant]
The number of loopholes is ridiculous. We know one thing about Microsoft they follow the *word not the spirit* of the agreements as their needs mandate. There is only one way to avoid the monopolist’s knife: **avoid the monopolist’s platforms**. Once inside and knifed, do you really want to deal with suing Microsoft to pretend justice will be served? All the time that knife will be lodged in there spilling blood all over. Yuck. No thanks.
Want the monopoly to end? **Avoid Microsoft platforms**. It’s simple. It’s easy [Pssst, there is this thing called Linux that is much safer and transparent.. heck, there is no transparency at all in closed source. And you can even file bug reports of fix platform problems or study the precise code of the platform "buddy" with Linux.. for real. No joking.]
Microsoft can’t get around some very basic things no matter how much lipstick they slap or horns they blow. They are a *closed source monopolist*. They leave loopholes open, and they use loopholes profusely. There is nothing here but words. Words with loopholes. The same sort of thing they have provided 3rd parties since always but lipsticked to sound more Web 2.0-ish.
[I'm OK now, whew, that was actually pretty fast.]
>> Ensuring open connections to Microsoft’s high-volume products. To enhance connections with third-party products, Microsoft will publish on its Web site documentation for all application programming interfaces (APIs) and communications protocols in its high-volume products that are used by other Microsoft products. Developers do not need to take a license or pay a royalty or other fee to access this information. Open access to this documentation will ensure that third-party developers can connect to Microsoft’s high-volume products just as Microsoft’s other products do.
Nothing here sheds light on any of the earlier questions, but let’s see what sort of thing Microsoft is pretending to give to us. First though, some more questions.
Publish what precisely on which website sections precisely and when precisely relative to the material existing in (applicable) products? [I'm just wasting a little time padding this comment. Why not? I like long comments. The real stuff is still to come.. shortly.]
How do we discover typos (“bugs”)? This is a big deal. A very big deal.
OK. So I read that we will get docs to “all application programming interfaces (APIs) and communications protocols in its high-volume products that are used by other Microsoft products.”
Sounds good. Sounds good. Sounds very good.
NOT!
Let me guess. The some of the API allow any payload! You publish this meaningless API, but are in no obligation to describe the payload (that’s just specific data after all). I am sure that is how Microsoft interprets the above. Or they can even go so far as to show you the binary stream that their apps use.. yeah, lot’s of good that will do. Example, When you call “submitHook()” you can give an octet stream as the first parameter, for example, “@#%QW$TT%$#%@#$%…” is how this function is used by Internet Explorer because, you see, IE just passed the stream that defines the binary executable that will be used to talk to it from that point on. …Yeah, thanks, Board Walk.
XML with the binary payload. Great.
So really, I don’t expect Microsoft to *really* describe each and every way all their applications.. excuse me.. all their applicable applications interact. To do that precisely is to provide the source code. Is that what this “promise” slash “press release right before the BRM” is doing? I would sure like to hold them to it. Microsoft is promising source code everyone!!!! ….. [LOL]
I have a news flash hunch. Microsoft is NOT going to give us the source code. We have no clue what we are interfacing with. Sure, you have a crummy track record of producing ambiguous and generally flawed documentation, but that’s not really your fault. You are a for-profit company with limited resources to spend on such matters; however, *no amount of effort on your part can describe source code aside from the source code itself*. With the best of intentions, there are ambiguities and problems. With the worst of intentions, run for the hills. OOXML is weak by ISO standards. I hardly thing Microsoft will put more effort into these documents than they did with OOXML. OUCH! What do we have to look for.. backwards to?
But why am I digressing? The point is that they are promising to describe “interfaces” and “protocols”. This is vague. They will surely believe they can satisfy that requirement vaguely without describing all the specific data that can be passed and all the possible side effects that can result from such data communications.. except of course perhaps by spelling out a binary stream or saying that such side effects are too complex to describe (no sttt sherlock.. without the source code and a debugger anyway) or, once in court (yeah, right), they will hide behind the DMCA, security, and trade secrets.
Puh-lease.
I am not even going to bother to finish out the remaining paragraphs of this hoax, of this manipulative press release.
Where’s the beef, Microsoft? Where’s the source code that we can build into a product ourselves? Anything less is a song and dance pony show. Linux provides exactly what I have just described. EXACTLY. .. to ALL developers and businesses and end users. to ALL of them. Millions if not billions of lines of buildable source code properly licensed for any to use almost without constraints (or in share-alike fashion).
Why do I waste my time reading such garbage from Park Avenue?
******* TAKE 2 *******
Does anyone really have the time to read documentation that will offer less and be of worse quality than OOXML?
Does anyone have patience to reverse engineer every API for possible bugs (when you clean out your logic, what remains will be issues with the black box. Good luck trying to fix those? .. and that’s even assuming MS wanted to help http://www.linuxtoday.com/infrastructure/2008020501226RVMSLL ).
Here is Microsoft calling: “Stop all your merrying around outside Redmond. Do all those things you do but with our technologies. We are EMBRACING big time. Can’t you all see? Stop it. We lost (wink wink). We are promising once again in bucket loads. We are EMBRACING. Come one. Come all. Can’t you hear us?
“Test suites? Never heard of those. Reference implementations? Sorry. Microland is a pretty place where everything is perfect and ideal, didn’t you know? The forces of nature have not penetrated our walls. We use XPhysics (TM).”
Sorry, Park Avenue. Bored Walk accually describes the majority of the FOSS community.
You ain’t knifing this baby.
[...] The 451 Group looks at the recent events and concludes that patents are a major ingredient of this latest development, even though Microsoft did not place emphasis on this. Well, not based on announcements which it made (high note on ‘open’, quiet on the ‘tax weasel’). It is worth noting that the new strategy will see Microsoft providing a list of the patents and patent applications that relate to the protocols and formats it uses for the named products. This should mean that open source developers are able to identify some of the 235 patents Microsoft previously claimed were infringed by free and open source software and will be able to license them (on RAND terms), attempt to develop around them, or challenge their legitimacy. [...]
[...] According to Matt Aslett of The 451 Group, what it really means is this: “It’s an acknowledgment that in today’s world, many more flowers bloom when platform companies make their APIs completely open for developers to write to, a la Google and MSFT’s recent investee, Facebook. This is yet another thing Google has taught the largest software company in the world. It appears on the face of it that Microsoft now intends to live by the merit of its products, rather than rely on lock-in.” [...]
[...] sconosciuto: [...]
[...] to innovate and deliver value for customers.”According to Matt Aslett of The 451 Group, what it really means is this: “It’s an acknowledgment that in today’s world, many more flowers bloom [...]