by anandeep on November 07, 2008 10:54am


Whenever people get to know that I work in the Open Source Lab at Microsoft, there are a few knee jerk questions they always have. The most common one is: "Microsoft has an Open Source Lab?", while another question often asked is: "So when is Microsoft actually going to be part of an Open Source project and actually participate?"

This question does not, of course, refer to our Codeplex projects, which are aplenty and Open Source, but rather about participating in an ongoing project that is not under Microsoft's umbrella.  Something that organizations with strong Open Source credentials are behind: Mozilla, Perl, Linux, Apache, Samba, PHP, Eclipse ... you know, the usual suspects. 

Fundamentally, as a developer, the answer  I (truthfully!) gave: that we worked with all those communities and had actually done some important work with them, was not soul satisfying.  You know as developers that one needs to jump in with both feet and actually stand up and be counted as being part of a project.

Given the kind of work we had been doing in changing realities both at Microsoft and in Open Source communities, I knew that it was just a matter of time before that happened. (My colleague Hank Janssen hates the word perception, and I would have used it here just to aggravate him, but that would not capture what I wanted to say. Darn!).

Well, that day is arrived - and I am excited beyond words to say that we (as Microsoft) will be participating in the Apache QPID project. This was announced by  Sam Ramji today during his keynote address at the  Apache Conference in New Orleans.

Apache QPID is middleware for message passing and is based on the AMQP standard.  I will be the point person for our lab's participation in Apache QPID. Actually I should say "what used to be our lab" and which now has truly become the Open Source Technology Center at Microsoft.

In a previous life, I was with a small start up that did secure Web Services management.  This was when the SOAP protocol sent unreliable, in-the-clear over the wire messages, and what we did was make SOAP a secure, guaranteed once and once only protocol between two Web Services end points without requiring any changes to web or application servers.  That gave me some understanding of the complexities of message passing.  Add the complexity of time constrained responses, huge volumes of data and interoperability between disparate systems and the technical problem becomes real juicy!

I often used to wonder why there weren't more successful Open Source messaging systems, since the primary message passing systems in use were proprietary and weren't built for interoperability.  Imagine my surprise and joy when Tom Hanrahan (da boss) told me that Microsoft was joining AMQP and was considering participating in the Apache QPID project.  I jumped on the opportunity to be involved with the project.

I want to reiterate that we will follow Open Source principles in being part of the Apache QPID project, and not antagonize people through typical big company execution.  This means the following things to me:

  • We will approach the process of working in the QPID project as beginners in technology, process and relationships.
  • We will listen first in the forums, in conferences and events, and most importantly one-on-one with existing community members.
  • We will only do things that add value as validated by the QPID community
  • We will strive to be leaders in building QPID's future, but that leadership will be an invitation from the community

This all means that we will be slower of the mark than we would, say in one of our internal projects - but we would like to get it right.

For now I am going to download QPID and run it in the lab.  Look, listen and linger in the forums, read the documentation, run the test suites, play around with APIs and learn how the joint runs (so to speak).

Looking forward to seeing you all there.