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.
The OSP is an example of free Fair,
Reasonable and Non Discriminatory terms for patents, also known
as a Covenant Not to Sue.
The OSP licensing covers any use and any implementations of an
appended list of covered specifications. It is limited for
implementations to the extent that they conform to those
specifications. This allows for conformance to be partial and does
not require the conformance to be perfect.
open source licensing
The OSP is effectively a patent sublicense to everyone limited to use
with certain formats and required technology to implement OSP
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 open source software (OSS) licensing deals with copyrights
on the source code
created by the contributors. Source code based on 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
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
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
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."
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
- "...it permits implementation under free software licenses so
long as the resulting code isn't used freely."
On March 12, 2008 the Software Freedom Law Center
warned over a possible inconsistency with GPL
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. 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
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."
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
GPL 3 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.
Technologies on which the Open Specification Promise applies
- OpenService Format Specification
- Web Slice Format Specification introduced with Internet
- XML Search Suggestions Format Specification
- Office 2003 XML Reference
- 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
- OpenDocument Format for Office Applications v1.1 OASIS
- Word 97-2007 Binary File Format (.doc) Specification
- PowerPoint 97-2007 Binary File Format (.ppt)
- Excel 97-2007 Binary File Format (.xls) Specification
- Excel 2007 Binary File Format (.xlsb) Specification
- Office Drawing 97-2007 Binary Format Specification
- [MS-DOC]: Word Binary File Format (.doc) Structure
- [MS-PPT]: PowerPoint Binary File Format (.ppt) Structure
- [MS-XLS]: Excel Binary File Format (.xls) Structure
- [MS-XLSB]: Excel Binary File Format (.xlsb) Structure
- [MS-ODRAW]: Office Drawing Binary File Format Structure
- [MS-CTDOC]: Word Custom Toolbar Binary File Format Structure
- [MS-CTXLS]: Excel Custom Toolbar Binary File Format Structure
- [MS-OFORMS]: Office Forms Binary File Format Structure
- [MS-OGRAPH]: Office Graph Binary File Format Structure
- [MS-OSHARED]: Office Common Data Types and Objects Structure
- [MS-OVBA]: Office VBA File Format
- [MS-OFFCRYPTO]: Office Document Cryptography Structure
- Windows Compound Binary File Format Specification
- [MS-XAML]: XAML Object
Mapping Specification 2006 (Draft v0.1)
- [MS-XAML]: XAML Object Mapping Specification 2006 (v1.0)
- [MS-WPFXV]: WPF XAML Vocabulary
Specification 2006 (Draft v0.1)
- [MS-WPFXV]: WPF XAML Vocabulary Specification 2006 (v1.0)
- [MS-SLXV]: Silverlight XAML Vocabulary
Specification 2008 (Draft v0.9)
- Decentralized Software Services Protocol – DSSP/1.0
The Open Specification Promise applies to a long list of
communication and internet protocols including:
- [MC-BUP]: Background
Intelligent Transfer Service (BITS) Upload Protocol
- [MC-COMQC]: Component Object Model Plus
(COM+) Queued Components Protocol Specification
- [MC-FPSEWM]: FrontPage Server
Extensions: Website Management Specification
- [MC-SMP]: Session Multiplex Protocol Specification
- [MC-SQLR]: SQL Server Resolution Protocol Specification
- 1394 Serial Bus Protocol 2
NetBIOS Extended User Interface (NetBEUI) v 3.0
- IEC 61883-1
- IEEE 1284 – Interface -
- IEEE 802.1x -
- Infrared Data Association (IrDA)
- Intel Preboot Execution
- Novell Internetwork Packet
- Novell Sequenced Packet
- Novell Service Advertising
- 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 1.0, 2.0 (RIP)
- RFC 1112, RFC 2236, and RFC 3376 – Internet Group
Management Protocol (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 v2 (SNMP)
- RFC 1179 – Line Printer Daemon
- RFC 1191, RFC 1323, RFC 2018, and RFC 2581 – TCP/IP
- RFC 1256 – ICMP Router Discovery
- ^ a
"Microsoft Open Specification Promise". http://www.microsoft.com/interop/osp/. Retrieved
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). http://port25.technet.com/archive/2008/07/25/osp.aspx. Retrieved
Specification Promise Eases Web Services Patent Concerns.".
xml.coverpages.org. 2006-09-12. http://xml.coverpages.org/ni2006-09-12-a.html.
"Microsoft Open Specification
"Microsoft promises to hang
patent fire over web services". 2006-09-12. http://www.computerbuyer.co.uk/buyer/news/93789/microsoft-promises-to-hang-patent-fire-over-web-services.html.
Peter Galli (2006-09-12). "Microsoft Promises Not to
Sue over Web Services Specs". http://www.devsource.com/c/a/Architecture/Microsoft-Promises-Not-to-Sue-over-Web-Services-Specs/.
"Software Freedom Law Center
Publishes Analysis of Microsoft's Open Specification Promise".
Business Wire. March 12, 2008. http://www.smartmoney.com/news/pr/index.cfm?story=PR-20080312-002366-1529.
- ^ a
Specification Promise: No Assurance for GPL". Software Freedom
Law Center. 2008-03-12. http://www.softwarefreedom.org/resources/2008/osp-gpl.html. Retrieved
"GNU General Public License
(Version 3, 29 June 2007)". Free Software Foundation.
See section 11
Bilodeau, J-F (March 19, 2008). "Three Things Microsoft Should
Do". http://farstarnet.com/jfbilodeau/labels/fud.html. 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."
Microsoft Open Specification
Promise - Frequently Asked Questions
Microsoft Office Binary (doc,
xls, ppt) File Formats