Microsoft Open Specification Promise

From Wikipedia, the free encyclopedia

The Microsoft Open Specification Promise (or OSP), is an irrevocable promise by Microsoft, published in September 2006, to not assert legal rights over certain Microsoft patents on implementations of an included list of technologies.[1]

The OSP is an example of free Fair, Reasonable and Non Discriminatory terms for patents, also known as a Covenant Not to Sue.

Contents

[edit] How it works

On the OSP page Microsoft states:

Q: How does the Open Specification Promise work? Do I have to do anything in order to get the benefit of this OSP?

A: No one needs to sign anything or even reference anything. Anyone is free to implement the specification(s), as they wish and do not need to make any mention of or reference to Microsoft. Anyone can use or implement these specification(s) with their technology, code, solution, etc. You must agree to the terms in order to benefit from the promise; however, you do not need to sign a license agreement, or otherwise communicate your agreement to Microsoft.

[edit] Compatibility with open source licensing

The OSP is effectively a patent sublicense to everyone limited to use with certain formats and required technology to implement OSP licensed formats.

Open source licences in general deal with licensing of copyrights of contributors to the software. GPL2 is an example of such copyright licensing. GPL2 does not grant you 3rd party (patent) rights.

The OSS licensing deals with copyrights on the sourcecode created by the contributors. Sourcecode based on the an OSP licenced format specification has its own copyrights and is therefore sublicensable by the contributors themselves. The OSP is only about patent rights. It grants additional rights to implementers and users to the OSS licensing.

Because Microsoft through the OSP grants patent rights to anybody that implements or uses technology required for OOXML there is no need for sublicensing of patent rights through the GPL. OSS users and implementers get the same rights automatically.

An OSS implementer that uses GPL software which implements an OSP licensed format, is granted certain copyrights on the software through his GPL license, which are granted by the prior software contributors. In addition to that he is allowed to use Microsoft patents for required format related technology through the OSP license.

Several standards and OSS licensing experts have expressed support of the OSP in 2006. An article in Cover Pages quotes Lawrence Rosen, an attorney and lecturer at Stanford Law School, as saying,

"I'm pleased that this OSP is compatible with free and open source licenses."[2]

In 2006 Mark Webbink; a lawyer and member of the board of the Software Freedom Law Center, and former employee of Linux vendor Red Hat; said,

"Red Hat believes that the text of the OSP gives sufficient flexibility to implement the listed specifications in software licensed under free and open source licenses. We commend Microsoft’s efforts to reach out to representatives from the open source community and solicit their feedback on this text, and Microsoft's willingness to make modifications in response to our comments."[3][4]

Standards lawyer Andy Updegrove said in 2006 the Open Specification Promise was

"what I consider to be a highly desirable tool for facilitating the implementation of open standards, in particular where those standards are of interest to the open source community."[5]

[edit] Scope limitation

The Software Freedom Law Center, which provides services to protect and advance free software and open source software, has warned of problems with the Open Specification Promise for use in open source software projects that use the GPL. In a published analysis of the promise it states that[6]

"...it permits implementation under free software licenses so long as the resulting code isn't used freely."[7]

On March 12, 2008 the Software Freedom Law Center warned over a possible inconsistency with GPL[7] and in specific the limited scope of the OSP. This applies specifically to the patent promise not being sublicenseable in GPL3 whilst the scope is limited to covered specifications only.

Effectively when an implementer owns a patent and builds that patent technology in GPL3 licensed code, the implementer grants those first party rights patent rights downline to all re-users of that code.[8] If you use third party OSP protected patents in GPL3 code, you cannot sublicense those, and the OSP scope is limited to required (normative) parts of the covered specification. This means that when the code is reused, the OSP only applies as long as the reuse of that code is limited to implementing the covered specifications. If the OSP was not limited in that way, you could implement all patented technology in a GPL3 code implementation after which the code patented technology could be reused freely for all other possible implementations. The limitations of a one-sided patent promise only applying to covered specifications is also present in the IBM Interoperability Specifications Pledge (ISP) and Sun Microsystems' OpenDocument Patent Statement.

This means, for example, that use of the required Sun patented StarOffice-related technology for OpenDocument should be protected by the Sun Covenant, but reuse of the code with the patented technology for non-OpenDocument implementations is no longer protected by the related Sun covenant.

The OSP similarly can be used to freely implement any of the covered specifications in OSS but its scope is limited to the covered specifications and cannot be used to transfer Microsoft patent rights to other implementations of non covered specifications for instance by using the technology in code that has a patent transferring software license.

For this reason the SFLC has stated:

"The OSP cannot be relied upon by GPL developers for their implementations not because its provisions conflict with GPL, but because it does not provide the freedom that the GPL requires."[7]

[edit] Licensed technologies

Technologies on which the Open Specification Promise applies are:[1][9]

[edit] Web Services

[edit] Web

  • OpenService Format Specification
  • WebSlice Format Specification introduced with Internet Explorer 8

[edit] Virtualization Specifications

[edit] Security

[edit] Office file formats

  • Office 2003 XML Reference Schemas
  • Office Open XML
  • Microsoft Office binary formats and related technologies
    • Word 97-2007 Binary File Format (.doc) Specification
    • PowerPoint 97-2007 Binary File Format (.ppt) Specification
    • Excel 97-2007 Binary File Format (.xls) Specification
    • Excel 2007 Binary File Format (.xlsb) Specification
    • Office Drawing 97-2007 Binary Format Specification
    • Windows Compound Binary File Format Specification

[edit] Graphics formats

[edit] Robotics

  • Decentralized Software Services Protocol – DSSP/1.0

[edit] Synchronization

[edit] See also

[edit] References

[edit] External links