Microsoft Open Specification Promise

Last updated

The Microsoft Open Specification Promise (or OSP) is a promise by Microsoft, published in September 2006, to not assert its patents, in certain conditions, against implementations of a certain list of specifications. [1]


The OSP is not a licence, but rather a covenant not to sue. [2] It promises protection but does not grant any rights.

The OSP is limited to implementations to the extent that they conform to those specifications. This allows for conformance to be partial. So if an implementation follows the specification for some aspects, and deviates in other aspects, then the Covenant Not to Sue applies only to the implementation's aspects which follow the specification. [3]

Relations with free software / open source projects

The protections granted by the OSP are independent to the licence of implementations. There is disagreement as to whether the conditions of the OSP can be fulfilled by free software / open source projects, and whether they thus gain any protection from the OSP.

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." [4]

Linux vendor Red Hat's stance, as communicated by lawyer Mark Webbink in 2006, is:

"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." [5] [6]

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." [7]

However, the Software Freedom Law Center, a law firm for free software and open source software, has warned of problems with the OSP for use in free software / open source software projects. In a published analysis of the promise it states that [8]

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

Their analysis warned of a possible inconsistency with GPL. [9] This applies specifically to the patent promise scope being limited to conforming implementations of 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 patent rights downline to all re-users of that code. [10] When the code is reused, the OSP only applies as long as the reuse of that code is limited to implementing the covered specifications.

Other patent promises with similar limitations include IBM's 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.

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." [9]

The SFLC specifically point out:

The Microsoft OSP itself mentions the GPL in two of its FAQs. In one it says,

"we can’t give anyone a legal opinion about how our language relates to the GPL or other OSS licenses".

In another, it specifically only mentions the "developers, distributors, and users of Covered Implementations", so excluding downstream developers, distributors, and users of code later derived from these "Covered Implementations" [9] and it specifically does not mention which version of the GPL is addressed, leading some commentators to conclude that the current GPLv3 may be excluded. [11]

Q: I am a developer/distributor/user of software that is licensed under the GPL, does the Open Specification Promise apply to me?
A: Absolutely, yes. The OSP applies to developers, distributors, and users of Covered Implementations without regard to the development model that created such implementations, or the type of copyright licenses under which they are distributed, or the business model of distributors/implementers. The OSP provides the assurance that Microsoft will not assert its Necessary Claims against anyone who make, use, sell, offer for sale, import, or distribute any Covered Implementation under any type of development or distribution model, including the GPL. [12]

Licensed technologies

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

Web Services


Virtualization Specifications


Office file formats

XML file formats

  • Office 2003 XML Reference Schemas
  • Office Open XML 1.0 – Ecma-376
  • Office Open XML ISO/IEC 29500:2008
  • OpenDocument Format for Office Applications v1.0 OASIS
  • OpenDocument Format for Office Applications v1.0 ISO/IEC 26300:2006
  • OpenDocument Format for Office Applications v1.1 OASIS

Binary file formats

  • 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
Structure specifications
  • [MS-DOC]: Word Binary File Format (.doc) Structure Specification
  • [MS-PPT]: PowerPoint Binary File Format (.ppt) Structure Specification
  • [MS-XLS]: Excel Binary File Format (.xls) Structure Specification
  • [MS-XLSB]: Excel Binary File Format (.xlsb) Structure Specification
  • [MS-ODRAW]: Office Drawing Binary File Format Structure Specification
  • [MS-CTDOC]: Word Custom Toolbar Binary File Format Structure Specification
  • [MS-CTXLS]: Excel Custom Toolbar Binary File Format Structure Specification
  • [MS-OFORMS]: Office Forms Binary File Format Structure Specification
  • [MS-OGRAPH]: Office Graph Binary File Format Structure Specification
  • [MS-OSHARED]: Office Common Data Types and Objects Structure Specification
  • [MS-OVBA]: Office VBA File Format Structure Specification
  • [MS-OFFCRYPTO]: Office Document Cryptography Structure Specification

Windows compound formats

Graphics formats

Microsoft computer languages



Windows Rally Technologies

Published protocols

In Microsoft's list of covered protocols there are many third-party protocols which Microsoft did not create but for which they imply they have patents which are necessary for implementation[ citation needed ]:

See also

Related Research Articles

The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with SSH File Transfer Protocol (SFTP).

The Organization for the Advancement of Structured Information Standards is a nonprofit consortium that works on the development, convergence, and adoption of open standards for cybersecurity, blockchain, Internet of things (IoT), emergency management, cloud computing, legal data exchange, energy, content technologies, and other areas.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

An open standard is a standard that is openly accessible and usable by anyone. It is also a prerequisite to use open license, non-discrimination and extensibility. Typically, anybody can participate in the development. There is no single definition, and interpretations vary with usage.

<span class="mw-page-title-main">Advanced Systems Format</span> File format

Advanced Systems Format is Microsoft's proprietary digital audio/digital video container format, especially meant for streaming media. ASF is part of the Media Foundation framework.

.doc is a filename extension used for word processing documents stored on Microsoft's proprietary Microsoft Word Binary File Format. Microsoft has used the extension since 1983.

The Internet Printing Protocol (IPP) is a specialized Internet protocol for communication between client devices and printers. It allows clients to submit one or more print jobs to the printer or print server, and perform tasks such as querying the status of a printer, obtaining the status of print jobs, or cancelling individual print jobs.

A document file format is a text or binary file format for storing documents on a storage media, especially for use by computers. There currently exist a multitude of incompatible document file formats.

Extensible Application Markup Language is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

Sender ID is an historic anti-spoofing proposal from the former MARID IETF working group that tried to join Sender Policy Framework (SPF) and Caller ID. Sender ID is defined primarily in Experimental RFC 4406, but there are additional parts in RFC 4405, RFC 4407 and RFC 4408.

In computing, a Personal Storage Table (.pst) is an open proprietary file format used to store copies of messages, calendar events, and other items within Microsoft software such as Microsoft Exchange Client, Windows Messaging, and Microsoft Outlook. The open format is controlled by Microsoft who provide free specifications and free irrevocable technology licensing.

Open XML Paper Specification is an open specification for a page description language and a fixed-document format. Microsoft developed it as the XML Paper Specification (XPS). In June 2009, Ecma International adopted it as international standard ECMA-388.

Office Open XML is a zipped, XML-based file format developed by Microsoft for representing spreadsheets, charts, presentations and word processing documents. Ecma International standardized the initial version as ECMA-376. ISO and IEC standardized later versions as ISO/IEC 29500.

A proprietary file format is a file format of a company, organization, or individual that contains data that is ordered and stored according to a particular encoding-scheme, designed by the company or organization to be secret, such that the decoding and interpretation of this stored data is easily accomplished only with particular software or hardware that the company itself has developed. The specification of the data encoding format is not released, or underlies non-disclosure agreements. A proprietary format can also be a file format whose encoding is in fact published, but is restricted through licences such that only the company itself or licensees may use it. In contrast, an open format is a file format that is published and free to be used by everybody.

<span class="mw-page-title-main">Network Security Services</span> Collection of cryptographic computer libraries

Network Security Services (NSS) is a collection of cryptographic computer libraries designed to support cross-platform development of security-enabled client and server applications with optional support for hardware TLS/SSL acceleration on the server side and hardware smart cards on the client side. NSS provides a complete open-source implementation of cryptographic libraries supporting Transport Layer Security (TLS) / Secure Sockets Layer (SSL) and S/MIME. NSS releases prior to version 3.14 are tri-licensed under the Mozilla Public License 1.1, the GNU General Public License, and the GNU Lesser General Public License. Since release 3.14, NSS releases are licensed under GPL-compatible Mozilla Public License 2.0.

OPC Unified Architecture is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

Moonlight (runtime) Implementation of Microsoft Silverlight for some Unix-based operating systems

Moonlight was a free and open source implementation for Linux and other Unix-based operating systems of the now deprecated Microsoft Silverlight application framework, developed and then abandoned by the Mono Project. Like Silverlight, Moonlight was a web application framework which provided capabilities similar to those of Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.

<span class="mw-page-title-main">Information card</span>

Information cards are personal digital identities that people can use online, and the key component of an identity metasystem. Visually, each i-card has a card-shaped picture and a card name associated with it that enable people to organize their digital identities and to easily select one they want to use for any given interaction. The information card metaphor is implemented by identity selectors like Windows CardSpace, DigitalMe or Higgins Identity Selector.

An rpmsg file is a restricted-permission message with an extension of rpmsg. It is used to implement IRM for Outlook messages with the aim of controlling access to content via encryption and access controls, and restricting certain actions such as the ability to forward or copy.

<span class="mw-page-title-main">Opus (audio format)</span> Lossy audio coding format

Opus is a lossy audio coding format developed by the Xiph.Org Foundation and standardized by the Internet Engineering Task Force, designed to efficiently code speech and general audio in a single format, while remaining low-latency enough for real-time interactive communication and low-complexity enough for low-end embedded processors. Opus replaces both Vorbis and Speex for new applications, and several blind listening tests have ranked it higher-quality than any other standard audio format at any given bitrate until transparency is reached, including MP3, AAC, and HE-AAC.


  1. 1 2 "Microsoft Open Specification Promise". Microsoft . Retrieved 2007-11-02.
  2. "Microsoft's Open Specification Promise Eases Web Services Patent Concerns" . Retrieved 2015-04-18.
  3. Richard Wilder (Associate General Counsel for Intellectual Property Policy at Microsoft) (2008-07-25). "The OSP and You". Port 25 (Microsoft's open source portal). Retrieved 2008-07-25.{{cite web}}: |author= has generic name (help)
  4. "Microsoft's Open Specification Promise Eases Web Services Patent Concerns". 2006-09-12.
  5. "Microsoft Open Specification Promise". Microsoft .
  6. "Microsoft promises to hang patent fire over web services". 2006-09-12.
  7. Peter Galli (2006-09-12). "Microsoft Promises Not to Sue over Web Services Specs".
  8. "Software Freedom Law Center Publishes Analysis of Microsoft's Open Specification Promise". Software Freedom Law Center. March 12, 2008.
  9. 1 2 3 4 5 "Microsoft's Open Specification Promise: No Assurance for GPL". Software Freedom Law Center. 2008-03-12. Retrieved 2008-03-30.
  10. "GNU General Public License (Version 3, 29 June 2007)". Free Software Foundation. 2008-02-12. See section 11 for patents.
  11. Bilodeau, J-F (March 19, 2008). "Three Things Microsoft Should Do". Archived from the original on February 27, 2010. Retrieved 2009-09-16. Use the GNU GPL 3: Most free software is released under the GNU GPL 2 or 3, which is incompatible with Microsoft's OSP (Open Specification Promise) and the Ms-PL (Microsoft Public License). This is not an accident. Microsoft does not want software written using their technology to spread to other platform. Again, it's vendor lock-in. If Microsoft truly wanted to work with the Open Source community, they should abandon the OSP and the Ms-PL for the GPL, or another OSI certified license.
  12. Microsoft Open Specification Promise - Frequently Asked Questions
  13. Microsoft Office Binary (doc, xls, ppt) File Formats Archived April 30, 2008, at the Wayback Machine
  14. Hypervisor Functional Specification
  15. "[MS-DEVCENTLP]: Open Specifications Dev Center". Retrieved 2014-05-08.