Microsoft Open Specification Promise
   HOME

TheInfoList



OR:

The Microsoft Open Specification Promise (or OSP) is a promise by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
, published in September 2006, to not assert its patents, in certain conditions, against implementations of a certain list of specifications. The OSP is not a licence, but rather a covenant not to sue. 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.


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."
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."
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."
However, the
Software Freedom Law Center The Software Freedom Law Center (SFLC) is an organization that provides '' pro bono'' legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Moglen ...
, 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
"...it permits implementation under free software licenses so long as the resulting code isn't used freely."
Their analysis warned of a possible inconsistency with GPL. 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. 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'
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."
The SFLC specifically point out: * new versions of listed specifications could be issued at any time by Microsoft, and be excluded from the OSP. * any code resulting from an implementation of one of the covered specifications could not safely be used outside the very limited field of use defined by Microsoft in the OSP. 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" 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.
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.


Licensed technologies

Technologies on which the Open Specification Promise applies are:


Web Services

*
Devices Profile for Web Services The Devices Profile for Web Services (DPWS) defines a minimal set of implementation constraints to enable secure web service messaging, discovery, description, and eventing on resource-constrained devices. Its objectives are similar to those of ...
(DPWS) * Identity Selector Interoperability Profile v1.0 *Identity Selector Interoperability Profile v1.5 *
Open Data Protocol In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable REST APIs in a simple and standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are relea ...
(OData) * Remote Shell Web Services Protocol *
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
*SOAP 1.1 Binding for MTOM 1.0 *SOAP MTOM / XOP * SOAP-over-UDP * Web Single Sign-On Interoperability Profile * Web Single Sign-On Metadata Exchange Protocol *
WS-Addressing Web Services Addressing (WS-Addressing) is a specification of transport-neutral mechanism that allows web services to communicate addressing information. It essentially consists of two parts: a structure for communicating a reference to a Web ser ...
*WS-Addressing End Point References and Identity * WS-AtomicTransaction * WS-BusinessActivity * WS-Coordination *
WS-Discovery Web Services Dynamic Discovery (WS-Discovery) is a technical specification that defines a multicast discovery protocol to locate services on a local network. It operates over TCP and UDP port 3702 and uses IP multicast address or . As the name s ...
*
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
*WSDL 1.1 Binding Extension for SOAP 1.2 * WS-Enumeration * WS-Eventing *
WS-Federation WS-Federation (Web Services Federation) is an Identity Federation specification, developed by a group of companies: BEA Systems, BMC Software, CA Inc. (along with Layer 7 Technologies now a part of CA Inc.), IBM, Microsoft, Novell, Hewlett Pac ...
*
WS-Federation Active Requestor Profile WS-Federation Active Requestor Profile is a Web Services specification - intended to work with the WS-Federation specification - which defines how identity, authentication and authorization mechanisms work across trust realms. The specification de ...
*
WS-Federation Passive Requestor Profile WS-Federation Passive Requestor Profile is a Web Services specification - intended to work with the WS-Federation specification - which defines how identity, authentication and authorization mechanisms work across trust realms. The specification d ...
*
WS-I Basic Profile {{Short description, Interoperability guidance for core web services specifications The WS-I Basic Profile (official abbreviation is BP), a specification from the Web Services Interoperability industry consortium (WS-I), provides interoperability gu ...
*
WS-Management WS-Management (Web Services-Management) is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. WS-Management provides a common way for systems to access and exchange ...
*
WS-Management Catalog WS-Management (Web Services-Management) is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. WS-Management provides a common way for systems to access and exchange m ...
*
WS-MetadataExchange WS-MetaDataExchange is a web services protocol specification, published by BEA Systems, IBM, Microsoft, and SAP. WS-MetaDataExchange is part of the WS-Federation roadmap; and is designed to work in conjunction with WS-Addressing, WSDL and WS-Po ...
* WS-Policy * WS-PolicyAttachment *
WS-ReliableMessaging WS-ReliableMessaging describes a protocol that allows SOAP messages to be reliably delivered between distributed applications in the presence of software component, system, or network failures. The original specification was written by BEA Syste ...
*
WS-RM Policy WS-ReliableMessaging describes a protocol that allows SOAP messages to be reliable messaging, reliably delivered between distributed applications in the presence of software component, system, or network failures. The original specification was w ...
*
WS-SecureConversation WS-SecureConversation is a Web Services specification, created by IBM and others, that works in conjunction with WS-Security, WS-Trust and WS-Policy to allow the creation and sharing of security contexts. Extending the use cases of WS-Security, ...
*
WS-Security Web Services Security (WS-Security, WSS) is an extension to SOAP to apply security to Web services. It is a member of the Web service specifications and was published by OASIS. The protocol specifies how integrity and confidentiality can be enfo ...
: Kerberos Binding *WS-Security: Kerberos Token Profile *WS-Security:
Rights Expression Language A Rights Expression Language or REL is a machine-processable language used to express intellectual property rights (such as copyright) and other terms and conditions for use over content. RELs can be used as standalone expressions (i.e. metadata usa ...
(REL) Token Profile *WS-Security:
SAML Security Assertion Markup Language (SAML, pronounced ''SAM-el'', ) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based ...
Token profile *WS-Security: SOAP Message Security *WS-Security: UsernameToken Profile *WS-Security:
X.509 In cryptography, X.509 is an International Telecommunication Union (ITU) standard defining the format of public key certificates. X.509 certificates are used in many Internet protocols, including TLS/SSL, which is the basis for HTTPS, the secu ...
Certificate Token Profile *
WS-SecurityPolicy WS-SecurityPolicy is a web services specification, created by IBM and 12 co-authors, that has become an OASIS standard as of version 1.2. It extends the fundamental security protocols specified by the WS-Security, WS-Trust and WS-SecureConversat ...
* WS-Transfer *
WS-Trust WS-Trust is a WS-* specification and OASIS standard that provides extensions to WS-Security, specifically dealing with the issuing, renewing, and validating of security tokens, as well as with ways to establish, assess the presence of, and broker ...


Web

*OpenService Format Specification (a.o. Accelerator) * Web Slice Format Specification introduced with
Internet Explorer 8 Windows Internet Explorer 8 (IE8) is a web browser for Windows. It was released by Microsoft on March 19, 2009, as the eighth version of Internet Explorer and the successor to Internet Explorer 7. It was the default browser in Windows 7 (later def ...
*XML Search Suggestions Format Specification


Virtualization Specifications

* Virtual Hard Disk (VHD) Image Format Specification * Microsoft Application Virtualization File Format Specification v1 *
Hyper-V Microsoft Hyper-V, codenamed Viridian, and briefly known before its release as Windows Server Virtualization, is a native hypervisor; it can create virtual machines on x86-64 systems running Windows. Starting with Windows 8, Hyper-V superseded W ...
Functional Specification


Security

*RFC 4406 –
Sender ID 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 RF ...
: Authenticating E-Mail *RFC 4408 –
Sender Policy Framework Sender Policy Framework (SPF) is an email authentication method designed to detect forging sender addresses during the delivery of the email. SPF alone, though, is limited to detecting a forged sender claim in the envelope of the email, which is ...
: Authorizing Use of Domains in “Mail From” *RFC 4407 – Purported Responsible Address in E-Mail Messages *RFC 4405 – SMTP Service Extension for Indicating the Responsible Submitter of an E-Mail Message *RFC 7208 – Sender Policy Framework (SPF) for Authorizing Use of Domains in Email *
U-Prove U-Prove is a free and open-source technology and accompanying Software development kit, SDK for user-centric identity management. The underlying cryptographic protocols were designed by Dr. Stefan Brands and further developed by Credentica and, sub ...
Cryptographic Specification V1.0 *U-Prove Technology Integration into the Identity Metasystem V1.0


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 Microsoft PowerPoint is a presentation program, created by Robert Gaskins and Dennis Austin at a software company named Forethought, Inc. It was released on April 20, 1987, initially for Macintosh computers only. Microsoft acquired Power ...
) Specification *Excel 97-2007 Binary File Format (
.xls Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro programming language called Visual Basic for ...
) Specification *Excel 2007 Binary File Format ( .xlsb) Specification *Office Drawing 97-2007 Binary Format Specification


=Structure specifications

= * S-DOC Word Binary File Format (.doc) Structure Specification * S-PPT PowerPoint Binary File Format (.ppt) Structure Specification * S-XLS Excel Binary File Format (.xls) Structure Specification * S-XLSB Excel Binary File Format (.xlsb) Structure Specification * S-ODRAW Office Drawing Binary File Format Structure Specification * S-CTDOC Word Custom Toolbar Binary File Format Structure Specification * S-CTXLS Excel Custom Toolbar Binary File Format Structure Specification * S-OFORMS Office Forms Binary File Format Structure Specification * S-OGRAPH Office Graph Binary File Format Structure Specification * S-OSHARED Office Common Data Types and Objects Structure Specification * S-OVBA Office VBA File Format Structure Specification * S-OFFCRYPTO Office Document Cryptography Structure Specification


Windows compound formats

* S-CFBWindows Compound Binary File Format Specification


Graphics formats

*
Windows Metafile Windows Metafile (WMF) is an image file format originally designed for Microsoft Windows in the 1990s. The original Windows Metafile format was not device-independent (though could be made more so with placement headers) and may contain both vect ...
Format (.wmf) Specification * Ink Serialized Format (ISF) Specification *
JPEG XR JPEG XR (JPEG extended range) is an image compression standard for continuous tone photographic images, based on the HD Photo (formerly Windows Media Photo) specifications that Microsoft originally developed and patented. It supports both lossy a ...
(.jxr) Format


Microsoft computer languages

* S-XAML
XAML Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise. XAML is used extensively ...
Object Mapping Specification 2006 (Draft v0.1) * S-XAML XAML Object Mapping Specification 2006 (v1.0) * S-WPFXV WPF XAML Vocabulary Specification 2006 (Draft v0.1) * S-WPFXV WPF XAML Vocabulary Specification 2006 (v1.0) * S-SLXV
Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
XAML Vocabulary Specification 2008 (Draft v0.9)


Robotics

*Decentralized Software Services Protocol – DSSP/1.0


Synchronization

*
FeedSync FeedSync for Atom and RSS, previously Simple Sharing Extensions, are extensions to RSS and Atom feed formats designed to enable the synchronization of information by using a variety of data sources. Initially developed by Ray Ozzie, Chief Softwar ...
v1.0, v1.0.1


Windows Rally Technologies

* Windows Connect NowUFD and Windows Vista *Windows Connect Now – UFD for Windows XP


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: * AppleTalk * C-BUP
Background Intelligent Transfer Service Background Intelligent Transfer Service (BITS) is a component of Microsoft Windows XP and later iterations of the operating systems, which facilitates asynchronous, prioritized, and throttled transfer of files between machines using idle network ...
(BITS) Upload Protocol Specification * C-CCFG Server Cluster: Configuration (ClusCfg) Protocol Specification * C-COMQC Component Object Model Plus (COM+) Queued Components Protocol Specification * C-FPSEWM FrontPage Server Extensions: Website Management Specification * C-SMP Session Multiplex Protocol Specification * C-SQLR SQL Server Resolution Protocol Specification * 1394 Serial Bus Protocol 2 * IBM NetBIOS Extended User Interface (NetBEUI) v 3.0 * IEC 61883-1 * IEEE 1284 – Interface - Parallel * IEEE 802.1x - 2004 * Infrared Data Association (IrDA) Published Standards * Intel Preboot Execution Environment (PXE) * Novell Internetwork Packet Exchange (IPX) * Novell Sequenced Packet Exchange (SPX) * Novell Service Advertising Protocol (SAP) * RFC 1001 and RFC 1002 – NetBIOS over TCP (NETBT) * RFC 1055 – Serial Line Internet Protocol (SLIP) * RFC 1058, RFC 1723, and RFC 2453 –
Routing Information Protocol The Routing Information Protocol (RIP) is one of the oldest distance-vector routing protocols which employs the hop count as a routing metric. RIP prevents routing loops by implementing a limit on the number of hops allowed in a path from sour ...
1.0, 2.0 (RIP) * RFC 1112, RFC 2236, and RFC 3376 –
Internet Group Management Protocol The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct ...
(IGMP) v1, v2, and v3 * RFC 1155, RFC 1157, RFC 1213, RFC 1289, RFC 1901, RFC 1902, RFC 1903, RFC 1904, RFC 1905, RFC 1906, RFC 1907, and RFC 1908:
Simple Network Management Protocol Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically ...
v2 (SNMP) * RFC 1179 – Line Printer Daemon (LPD) * RFC 1191, RFC 1323, RFC 2018, and RFC 2581 – TCP/IP Extensions * RFC 1256 – ICMP Router Discovery Messages * RFC 1258 and RFC 1282 – Remote LOGIN ( rlogin) * RFC 1332 and RFC 1877 –
Internet Protocol Control Protocol In computer networking, Internet Protocol Control Protocol (IPCP) is a Network Control Protocol (NCP) for establishing and configuring Internet Protocol over a Point-to-Point Protocol link. IPCP is responsible for configuring the IP addresses as w ...
(IPCP) * RFC 1334 –
Password Authentication Protocol Password Authentication Protocol (PAP) is a password-based authentication protocol used by Point-to-Point Protocol (PPP) to validate users. PAP is specified in . Almost all network operating systems support PPP with PAP, as do most network access ...
(PAP) * RFC 1393 –
Traceroute In computing, traceroute and tracert are computer network diagnostic commands for displaying possible routes (paths) and measuring transit delays of packets across an Internet Protocol (IP) network. The history of the route is recorded as th ...
* RFC 1436 – Internet Gopher * RFC 1483, RFC 1755, and RFC 2225 – Internet Protocol over Asynchronous Transfer Mode (IP over ATM) * RFC 1510 and RFC 1964 – Kerberos Network Authentication Service (v5) * RFC 1552 – PPP Internetwork Packet Exchange Control Protocol (IPXCP) * RFC 1661 – Point-to-Point Protocol (PPP) * RFC 1739 Section 2.2 – Packet Internet Groper (ping) * RFC 1889 and RFC 3550 –
Real-Time Transport Protocol The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applicati ...
(RTP) * RFC 1939 and RFC 1734 –
Post Office Protocol In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. POP version 3 (POP3) is the version in common use, and along with IMAP the most common ...
, v3 (POP3) * RFC 1962 – Compression Control Protocol (CCP) * RFC 1990 – Multilink Protocol (MP) * RFC 1994 – MD5 Challenge Handshake Authentication Protocol (MD5-CHAP) * RFC 2097 –
NetBIOS NetBIOS () is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network. As strictly an API, Ne ...
Frames Control Protocol (NBFCP) * RFC 2118 – Microsoft Point-to-Point Compression (MPPC) * RFC 2125 – Bandwidth Allocation Protocol (BAP) * RFC 2131, RFC 2132, and RFC 3361 – Dynamic Host Configuration Protocol (DHCP) * RFC 2205, RFC 2209, and RFC 2210 – Resource Reservation Setup (RSVP) * RFC 2222 –
Simple Authentication and Security Layer Simple Authentication and Security Layer (SASL) is a framework for authentication and data security in Internet protocols. It decouples authentication mechanisms from application protocols, in theory allowing any authentication mechanism supported ...
(SASL) * RFC 2225 –
Asynchronous Transfer Mode Asynchronous Transfer Mode (ATM) is a telecommunications standard defined by American National Standards Institute (ANSI) and ITU-T (formerly CCITT) for digital transmission of multiple types of traffic. ATM was developed to meet the needs of ...
*
Server Message Block Server Message Block (SMB) is a communication protocol originally developed in 1983 by Barry A. Feigenbaum at IBM and intended to provide shared access to files and printers across nodes on a network of systems running IBM's OS/2. It also provide ...
* Sun Microsystems Remote Procedure Call (SunRPC) *
T.120 T.120 is a suite of point-to-multipoint communication protocols for teleconferencing, videoconferencing, and computer-supported collaboration. It provides for application sharing, online chat, file sharing, and other functions. The protocols ar ...
*
Tabular Data Stream Tabular Data Stream (TDS) is an application layer protocol used to transfer data between a database server and a client. It was initially designed and developed by Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and l ...
(TDS) v7.1, 7.2, 7.3 *
Universal Plug and Play Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the n ...
(UPnP) *
Universal Serial Bus Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad ...
(USB) Revision 2.0


See also

*
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
* Glossary of patent law terms


References


External links


Open Specification Promise
— Microsoft page describing the OSP and listing the specifications covered by it.
Analysis of OSP
by standards lawyer Andy Updegrove

by
Software Freedom Law Center The Software Freedom Law Center (SFLC) is an organization that provides '' pro bono'' legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Moglen ...
.
Rebuttal
by Gray Knowlton, group product manager for Microsoft Office.
MSDN Library: Open Specifications
— Documentation for the covered specifications. {{FOSS Microsoft initiatives Patent law