by billhilf on February 21, 2008 09:00am


I have always been a fan of Tim O’Reilly’s phrase the “architecture of participation” to describe “systems designed for user contribution.” I liked it so much that at last year’s OSCON I made this concept the focal point of a discussion about how Microsoft’s products, programs, and partnerships have evolved over time to further this idea of ‘participatory systems’. (The slide I used at OSCON in Portland on July 26, 2007 is shown below).

(Presented July 26, 2007, OSON, Portland, Oregon)

I also like the metaphor of an ascending curve that reminds me of a strand of DNA. To me it is a visual representation of the fact that as the number of examples of architecting for participation have increased, the mindset and the behaviors involved in doing so have increasingly become a part of the company’s core culture and software design and development practices.

Today we are making a set of broad-reaching changes that go above and beyond any prior incremental changes in Microsoft’s DNA, that opens the door on new horizons for what architecting for participation might mean in the future. I want to talk about what this means—and why an open source interoperability initiative is an important part of it.

To understand why Microsoft is making broad-reaching changes to its technology and business practices that will drive greater interoperability, it’s important to step back and look broadly at the way the emergence services oriented architectures, web services, and the growing importance of software plus services are transforming the world of technology.

Ray Ozzie described this sea-change well this morning:

…as we put more and more of our data into [technology] products, a new set of issues emerge. Whether it’s our health records, or our customer databases, we’ve progressively learned that our documents and data have a lifetime that potentially spans well beyond the lifetime of any specific application that might’ve been used to create it. For our records and our documents, issues such as preservation and portability have become vital concerns…Furthermore, as a byproduct of the internet’s ubiquity, virtually every system and product nowadays has become interconnected. From the mobile phone in your pocket, to your PC, to the heterogeneous systems within our enterprises, everything’s being interconnected – and connected to the Web as our “universal hub” for information sharing.

At MIX ’07 Ray put the sweeping implications of this overarching vision in the context of history, starting with what he called the “dawn of the PC revolution” in the 1980s. There is an important connection to bear in mind between some of the key inflection points in the technology landscape (like the availability of low cost PCs, and cheaper, faster connectivity) with changes in how aspects of openness and developer opportunity have evolved together. This resonates with me when reading today’s announcement (available here):

Historically, as lower cost hardware became widely available, documented APIs and free SDKs enabled developers to more quickly develop applications

As the number of applications exploded, and network connectivity became the norm, protocols enabled exchange of information between programs and over the wire.

And as many types of computing devices have proliferated and connectivity has become ubiquitous, data portability and standards have become key tools in the toolbox for a loosely-coupled, services-based world.

Long-term success for Microsoft depends on our ability to deliver a platform that is open, flexible, and provides customers and developers with choice. These choices include Microsoft and open source technologies working together, and this will continue to be the case in the future. By increasing the openness of high volume products across APIs, protocols, and standards, we can continue to provide the platform that offers developers and businesses, including those based on open-source technologies, the broadest range of opportunities to innovate, deliver value, and create seamless experiences for end users.

By building on and expanding existing facilities, events, and resources supporting interoperability, including labs, plug fests, technical content and opportunities for ongoing cooperative development, the open source interoperability initiative will ensure this fundamental change in how we run our business and share information is broadly inclusive of open source technologies. As Microsoft takes this significant step forward into the interconnected world of the future, we aspire to doing so with members of the open source community by our side now and for the long haul.

Today is an important day, full of change. A wise inventor once said: “The world hates change, yet it is the only thing that has brought progress” and although I’m sure today’s news will bring critics aplenty, it is with time and commitment that this change will manifest. I’m extraordinarily proud to be part of Microsoft and to be part of this change.

FAQs, updates and news about the initiative will be posted on www.microsoft.com/opensource/interop .