by Richard Wilder on July 25, 2008 06:15am
I am the Associate General Counsel for Intellectual Property Policy at Microsoft, having joined the company about 9 months ago. My role is to work with a variety of constituencies inside the company and outside to help shape the approach we take to intellectual property. I am new to the company and cannot take credit for it, but am very pleased that in recent years, Microsoft has made progress in participating with open source communities. A part of that has been the implementation of the Open Specification Promise (OSP), which was launched in 2006. We think it is a simple and clear way to assure that the broadest audience of developers and customers working with commercial or open source software can implement specifications. We constantly listen to feedback from community representatives and respond to that feedback – through Q&A’s on the OSP page and directly to the community. Andy Oliver made some positive comments in this regard as recently as yesterday. When asked for clarification of the OSP with respect to the activities of Apache POI, we responded. The concerns were about implementations of specifications covered by the OSP that may be less than fully compliant – in particular due to implementation bugs. Such a situation is not explicitly covered by the OSP since it is meant to apply to a wide range of technologies and development models and it is simply not possible to address all specific situations in which it would apply. We addressed this situation in the following manner – and I apologize if the explanation is a bit technical, but I will try to avoid too much legal jargon.
The OSP says that it covers "any implementation to the extent it conforms to a Covered Specification" which addresses the heart of the conformance issue that was raised." To the extent it conforms" means that we do not require an implementation to be perfect; this can be because of implementation bugs or an intentional choice because the requirements of the particular implementation do not actually require full conformance. Under the OSP, implementations can be less than fully compliant. For example, a given implementation that takes a spreadsheet document, extracts information from it, and stores that information in a relational database might not comply with every required part of the spreadsheet document format but such an implementation would still be covered by the OSP. By way of comparison, other promises in the industry may require complete conformance for the promise to apply, and those normally require full compliance as a condition (see IBM's Interoperability Specifications Pledge). Some others make no statement about the subject at all, leaving it an open question as to whether full compliance is required. At Microsoft, we felt that unless we indicated that the OSP is more flexible, some might conservatively assume that complete compliance is required, so we included the “extent it conforms” language in the OSP. We chose to state explicitly that partially conformant implementations are covered, to the extent they are conformant in their individual implementation aspects.
As a result of this clarification, developers can have peace of mind that the specifications covered by the OSP, are, in fact, openly available without ambiguity. This is the kind of conversation and cooperation that marks our intentions with the open source community, and I look forward to continuing this dialogue into the future.