Microsoft Open Specification Promise: Difference between revisions
No edit summary Tags: Mobile edit Mobile app edit |
GreenC bot (talk | contribs) Rescued 1 archive link. Wayback Medic 2.5 per WP:URLREQ#www-03.ibm.com |
||
(33 intermediate revisions by 25 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Promise by Microsoft}} |
|||
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.<ref name="osp">{{cite web |
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.<ref name="osp">{{cite web |
||
| url=http://www.microsoft.com/interop/osp/ |
| url=http://www.microsoft.com/interop/osp/ |
||
| title=Microsoft Open Specification Promise |
| title=Microsoft Open Specification Promise |
||
| website=[[Microsoft]] |
|||
| |
| access-date=2007-11-02 |
||
}}</ref> |
}}</ref> |
||
The OSP is not a licence, but rather a |
The OSP is not a licence, but rather a [[Non-assertion covenant|covenant not to sue]].<ref>{{cite web |
||
| url=http://xml.coverpages.org/ni2006-09-12-a.html |
| url=http://xml.coverpages.org/ni2006-09-12-a.html |
||
| title=Microsoft's Open Specification Promise Eases Web Services Patent Concerns. |
| title=Microsoft's Open Specification Promise Eases Web Services Patent Concerns. |
||
| |
| access-date=2015-04-18 |
||
}}</ref> It promises protection but |
}}</ref> 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 |
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.<ref>{{cite web |
||
| url=http://port25.technet.com/archive/2008/07/25/osp.aspx |
| url=http://port25.technet.com/archive/2008/07/25/osp.aspx |
||
| title=The OSP and You |
| title=The OSP and You |
||
Line 18: | Line 19: | ||
| date=2008-07-25 |
| date=2008-07-25 |
||
| publisher=Port 25 (Microsoft's open source portal) |
| publisher=Port 25 (Microsoft's open source portal) |
||
| |
| access-date=2008-07-25}}</ref> |
||
⚫ | |||
⚫ | |||
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. |
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 (attorney)|Lawrence Rosen]], an attorney and lecturer at Stanford Law School, as saying, |
An article in Cover Pages quotes [[Lawrence Rosen (attorney)|Lawrence Rosen]], an attorney and lecturer at Stanford Law School, as saying, |
||
<blockquote>"I'm pleased that this OSP is compatible with free and open |
<blockquote>"I'm pleased that this OSP is compatible with free and open-source licenses."<ref>{{cite web |
||
| url=http://xml.coverpages.org/ni2006-09-12-a.html |
| url=http://xml.coverpages.org/ni2006-09-12-a.html |
||
| title=Microsoft's Open Specification Promise Eases Web Services Patent Concerns. |
| title=Microsoft's Open Specification Promise Eases Web Services Patent Concerns. |
||
Line 32: | Line 32: | ||
| publisher=xml.coverpages.org}}</ref></blockquote> |
| publisher=xml.coverpages.org}}</ref></blockquote> |
||
Linux vendor Red Hat's stance, as communicated by lawyer [[Mark Webbink]] in 2006, is: |
|||
<blockquote>"Red Hat believes that the text of the OSP gives sufficient flexibility to implement the listed specifications in software licensed under free and open |
<blockquote>"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."<ref>{{cite web |
||
|url=http://www.microsoft.com/interop/osp/default.mspx#EOHAC |
|url=http://www.microsoft.com/interop/osp/default.mspx#EOHAC |
||
|title=Microsoft Open Specification Promise}}</ref><ref>{{cite web |
|title=Microsoft Open Specification Promise|website=[[Microsoft]] }}</ref><ref>{{cite web |
||
|url=http://www.computerbuyer.co.uk/buyer/news/93789/microsoft-promises-to-hang-patent-fire-over-web-services.html |
|url=http://www.computerbuyer.co.uk/buyer/news/93789/microsoft-promises-to-hang-patent-fire-over-web-services.html |
||
|title=Microsoft promises to hang patent fire over web services |
|title=Microsoft promises to hang patent fire over web services |
||
Line 55: | Line 55: | ||
| date=March 12, 2008}}</ref> |
| date=March 12, 2008}}</ref> |
||
<blockquote>"...it permits implementation under free software licenses so long as the resulting code isn't used freely."<ref name="SFLC report">{{cite web |title=Microsoft's Open Specification Promise: No Assurance for GPL |url=http://www.softwarefreedom.org/resources/2008/osp-gpl.html |date=2008-03-12 |
<blockquote>"...it permits implementation under free software licenses so long as the resulting code isn't used freely."<ref name="SFLC report">{{cite web |title=Microsoft's Open Specification Promise: No Assurance for GPL |url=http://www.softwarefreedom.org/resources/2008/osp-gpl.html |date=2008-03-12 |
||
|publisher=Software Freedom Law Center | |
|publisher=Software Freedom Law Center |access-date=2008-03-30}}</ref></blockquote> |
||
Their analysis warned of a possible inconsistency with GPL.<ref name="SFLC report"/> This applies specifically to the patent promise scope being limited to conforming implementations of covered specifications only. |
Their analysis warned of a possible inconsistency with GPL.<ref name="SFLC report"/> This applies specifically to the patent promise scope being limited to conforming implementations of covered specifications only. |
||
Line 61: | Line 61: | ||
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.<ref>{{cite web |title=GNU General Public License (Version 3, 29 June 2007) |url=http://www.fsf.org/licensing/licenses/gpl.html |publisher=Free Software Foundation |date=2008-02-12}} See section 11 for patents.</ref> When the code is reused, the OSP only applies as long as the reuse of that code is limited to implementing the covered specifications. |
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.<ref>{{cite web |title=GNU General Public License (Version 3, 29 June 2007) |url=http://www.fsf.org/licensing/licenses/gpl.html |publisher=Free Software Foundation |date=2008-02-12}} See section 11 for patents.</ref> 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 [http://www-03.ibm.com/linux/ossstds/isplist.html Interoperability Specifications Pledge] (ISP) and Sun Microsystems' [http://www.oasis-open.org/committees/office/ipr.php 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. |
Other patent promises with similar limitations include IBM's [https://web.archive.org/web/20090531052839/http://www-03.ibm.com/linux/ossstds/isplist.html Interoperability Specifications Pledge] (ISP) and Sun Microsystems' [http://www.oasis-open.org/committees/office/ipr.php 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: |
For this reason the SFLC has stated: |
||
Line 71: | Line 71: | ||
The Microsoft OSP itself mentions the GPL in two of its FAQs. In one it says, |
The Microsoft OSP itself mentions the GPL in two of its FAQs. In one it says, |
||
<blockquote>"we |
<blockquote>"we can't give anyone a legal opinion about how our language relates to the GPL or other OSS licenses".</blockquote> |
||
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"<ref name="SFLC report"/> 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.<ref>{{cite web|url=http://farstarnet.com/jfbilodeau/labels/fud.html |quote=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. |last=Bilodeau |first=J-F |date=March 19, 2008 |title=Three Things Microsoft Should Do | |
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"<ref name="SFLC report"/> 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.<ref>{{cite web|url=http://farstarnet.com/jfbilodeau/labels/fud.html |quote=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. |last=Bilodeau |first=J-F |date=March 19, 2008 |title=Three Things Microsoft Should Do |access-date=2009-09-16 |url-status=dead |archive-url=https://web.archive.org/web/20100227233629/http://farstarnet.com/jfbilodeau/labels/fud.html |archive-date=February 27, 2010 }}</ref> |
||
<blockquote>Q: I am a developer/distributor/user of software that is licensed under the GPL, does the Open Specification Promise apply to me?<br>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.<ref>[https://msdn.microsoft.com/en-us/openspecifications/dn646765#OSPFAQ Microsoft Open Specification Promise - Frequently Asked Questions]</ref></blockquote> |
<blockquote>Q: I am a developer/distributor/user of software that is licensed under the GPL, does the Open Specification Promise apply to me?<br />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.<ref>[https://msdn.microsoft.com/en-us/openspecifications/dn646765#OSPFAQ Microsoft Open Specification Promise - Frequently Asked Questions]</ref></blockquote> |
||
==Licensed technologies== |
==Licensed technologies== |
||
Line 80: | Line 80: | ||
===Web Services=== |
===Web Services=== |
||
{{col |
{{div col|colwidth=28em}} |
||
{{col-2}} |
|||
*[[Devices Profile for Web Services]] (DPWS) |
*[[Devices Profile for Web Services]] (DPWS) |
||
*[[Identity Selector]] Interoperability Profile v1.0 |
*[[Identity Selector]] Interoperability Profile v1.0 |
||
Line 88: | Line 87: | ||
*[[Remote Shell Web Services Protocol]] |
*[[Remote Shell Web Services Protocol]] |
||
*[[SOAP (protocol)|SOAP]] |
*[[SOAP (protocol)|SOAP]] |
||
*SOAP 1.1 Binding for [[MTOM]] 1.0 |
*SOAP 1.1 Binding for [[Message Transmission Optimization Mechanism|MTOM]] 1.0 |
||
*SOAP MTOM / [[XML-binary Optimized Packaging|XOP]] |
*SOAP MTOM / [[XML-binary Optimized Packaging|XOP]] |
||
*[[SOAP-over-UDP]] |
*[[SOAP-over-UDP]] |
||
Line 104: | Line 103: | ||
*[[WS-Eventing]] |
*[[WS-Eventing]] |
||
*[[WS-Federation]] |
*[[WS-Federation]] |
||
{{col-2}} |
|||
*[[WS-Federation Active Requestor Profile]] |
*[[WS-Federation Active Requestor Profile]] |
||
*[[WS-Federation Passive Requestor Profile]] |
*[[WS-Federation Passive Requestor Profile]] |
||
Line 126: | Line 124: | ||
*[[WS-Transfer]] |
*[[WS-Transfer]] |
||
*[[WS-Trust]] |
*[[WS-Trust]] |
||
{{col |
{{div col end}} |
||
===Web=== |
===Web=== |
||
Line 140: | Line 138: | ||
===Security=== |
===Security=== |
||
*RFC 4406 – [[Sender ID]]: Authenticating E-Mail |
*RFC 4406 – [[Sender ID]]: Authenticating E-Mail |
||
*RFC 4408 – [[Sender Policy Framework]]: Authorizing Use of Domains in |
*RFC 4408 – [[Sender Policy Framework]]: Authorizing Use of Domains in "Mail From" |
||
*RFC 4407 – Purported Responsible Address in E-Mail Messages |
*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 4405 – SMTP Service Extension for Indicating the Responsible Submitter of an E-Mail Message |
||
*RFC 7208 |
*RFC 7208 – Sender Policy Framework (SPF) for Authorizing Use of Domains in Email<ref>{{cite web |url=http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx#security |title=[MS-DEVCENTLP]: Open Specifications Dev Center |website=www.microsoft.com |access-date=2014-05-08}}</ref> |
||
*[[U-Prove]] Cryptographic Specification V1.0 |
*[[U-Prove]] Cryptographic Specification V1.0 |
||
*U-Prove Technology Integration into the Identity Metasystem V1.0 |
*U-Prove Technology Integration into the Identity Metasystem V1.0 |
||
Line 200: | Line 198: | ||
===Windows Rally Technologies=== |
===Windows Rally Technologies=== |
||
*[[Windows Rally|Windows Connect Now]]– [[USB flash drive|UFD]] and Windows Vista |
*[[Windows Rally|Windows Connect Now]] – [[USB flash drive|UFD]] and Windows Vista |
||
*Windows Connect Now – UFD for Windows XP |
*Windows Connect Now – UFD for Windows XP |
||
===Published protocols=== |
===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{{fact|date=June 2015}}: |
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{{fact|date=June 2015}}: |
||
{{col |
{{div col|colwidth=48em}} |
||
{{col-2}} |
|||
* [[AppleTalk]] |
* [[AppleTalk]] |
||
* [MC-BUP]: [[Background Intelligent Transfer Service]] (BITS) Upload Protocol Specification |
* [MC-BUP]: [[Background Intelligent Transfer Service]] (BITS) Upload Protocol Specification |
||
Line 226: | Line 222: | ||
* [[IPX/SPX|Novell Sequenced Packet Exchange (SPX)]] |
* [[IPX/SPX|Novell Sequenced Packet Exchange (SPX)]] |
||
* [[Service Advertising Protocol|Novell Service Advertising Protocol (SAP)]] |
* [[Service Advertising Protocol|Novell Service Advertising Protocol (SAP)]] |
||
* |
* {{IETF RFC|1001|link=no}} and {{IETF RFC|1002|link=no}} – [[NetBIOS over TCP/IP|NetBIOS over TCP (NETBT)]] |
||
* [[Serial Line Internet Protocol |
* [[Serial Line Internet Protocol]] (SLIP, {{IETF RFC|1055|link=no}}) |
||
* |
* {{IETF RFC|1058|link=no}}, {{IETF RFC|1723|link=no}}, and {{IETF RFC|2453|link=no}} – [[Routing Information Protocol]] 1.0, 2.0 (RIP) |
||
* |
* {{IETF RFC|1112|link=no}}, {{IETF RFC|2236|link=no}}, and {{IETF RFC|3376|link=no}} – [[Internet Group Management Protocol]] (IGMP) v1, v2, and v3 |
||
* |
* {{IETF RFC|1155|link=no}}, {{IETF RFC|1157|link=no}}, {{IETF RFC|1213|link=no}}, {{IETF RFC|1289|link=no}}, {{IETF RFC|1901|link=no}}, {{IETF RFC|1902|link=no}}, {{IETF RFC|1903|link=no}}, {{IETF RFC|1904|link=no}}, {{IETF RFC|1905|link=no}}, {{IETF RFC|1906|link=no}}, {{IETF RFC|1907|link=no}}, and {{IETF RFC|1908|link=no}}: [[Simple Network Management Protocol]] v2 (SNMP) |
||
* |
* {{IETF RFC|1179|link=no}} – [[Line Printer Daemon protocol|Line Printer Daemon (LPD)]] |
||
* |
* {{IETF RFC|1191|link=no}}, {{IETF RFC|1323|link=no}}, {{IETF RFC|2018|link=no}}, and {{IETF RFC|2581|link=no}} – TCP/IP Extensions |
||
* |
* {{IETF RFC|1256|link=no}} – [[Internet Control Message Protocol|ICMP Router Discovery Messages]] |
||
⚫ | |||
{{col-2}} |
|||
* {{IETF RFC|1332|link=no}} and {{IETF RFC|1877|link=no}} – [[Internet Protocol Control Protocol]] (IPCP) |
|||
⚫ | |||
* |
* {{IETF RFC|1334|link=no}} – [[Password Authentication Protocol]] (PAP) |
||
* {{IETF RFC|1393|link=no}} – [[Traceroute]] |
|||
* RFC 1334 – [[Password Authentication Protocol]] (PAP) |
|||
* RFC |
* {{IETF RFC|1436|link=no}} – [[Internet Gopher]] |
||
⚫ | |||
* RFC 1436 – [[Internet Gopher]] |
|||
⚫ | |||
⚫ | |||
* {{IETF RFC|1552|link=no}} – PPP Internetwork Packet Exchange Control Protocol (IPXCP) |
|||
⚫ | |||
* RFC |
* {{IETF RFC|1661|link=no}} – [[Point-to-Point Protocol]] (PPP) |
||
* RFC |
* {{IETF RFC|1739|link=no}} Section 2.2 – [[Packet Internet Groper]] (ping) |
||
* {{IETF RFC|1889|link=no}} and {{IETF RFC|3550|link=no}} – [[Real-time Transport Protocol|Real-Time Transport Protocol]] (RTP) |
|||
* RFC 1739 Section 2.2 – [[Packet Internet Groper]] (ping) |
|||
* |
* {{IETF RFC|1939|link=no}} and {{IETF RFC|1734|link=no}} – [[Post Office Protocol]], v3 (POP3) |
||
* |
* {{IETF RFC|1962|link=no}} – Compression Control Protocol (CCP) |
||
* RFC |
* {{IETF RFC|1990|link=no}} – Multilink Protocol (MP) |
||
⚫ | |||
* RFC 1990 – Multilink Protocol (MP) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* {{IETF RFC|2131|link=no}}, {{IETF RFC|2132|link=no}}, and {{IETF RFC|3361|link=no}} – [[Dynamic Host Configuration Protocol]] (DHCP) |
|||
⚫ | |||
* RFC |
* {{IETF RFC|2205|link=no}}, {{IETF RFC|2209|link=no}}, and {{IETF RFC|2210|link=no}} – Resource Reservation Setup (RSVP) |
||
⚫ | |||
* RFC 2205, RFC 2209, and RFC 2210 – Resource Reservation Setup (RSVP) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* [[Server Message Block]] |
* [[Server Message Block]] |
||
* [[SunRPC|Sun Microsystems Remote Procedure Call (SunRPC)]] |
* [[SunRPC|Sun Microsystems Remote Procedure Call (SunRPC)]] |
||
Line 263: | Line 258: | ||
* [[Universal Plug and Play]] (UPnP) |
* [[Universal Plug and Play]] (UPnP) |
||
* [[Universal Serial Bus]] (USB) Revision 2.0 |
* [[Universal Serial Bus]] (USB) Revision 2.0 |
||
{{col |
{{div col end}} |
||
==See also== |
==See also== |
||
Line 270: | Line 265: | ||
==References== |
==References== |
||
{{ |
{{Reflist|2}} |
||
==External links== |
==External links== |
||
*[ |
*[https://learn.microsoft.com/en-us/openspecs/dev_center/ms-devcentlp/1c24c7c8-28b0-4ce1-a47d-95fe1ff504bc Open Specification Promise] — Microsoft page describing the OSP and listing the specifications covered by it. |
||
*[http://www.consortiuminfo.org/standardsblog/article.php?story=20060912140103877 Analysis of OSP] by standards lawyer Andy Updegrove |
*[http://www.consortiuminfo.org/standardsblog/article.php?story=20060912140103877 Analysis of OSP] by standards lawyer Andy Updegrove |
||
*[http://www.softwarefreedom.org/resources/2008/osp-gpl.html Analysis of OSP] by [[Software Freedom Law Center]]. [http://blogs.technet.com/gray_knowlton/archive/2008/03/13/a-disappointing-surprise-from-the-sflc.aspx Rebuttal] by Gray Knowlton, group product manager for Microsoft Office. |
*[http://www.softwarefreedom.org/resources/2008/osp-gpl.html Analysis of OSP] by [[Software Freedom Law Center]]. [http://blogs.technet.com/gray_knowlton/archive/2008/03/13/a-disappointing-surprise-from-the-sflc.aspx Rebuttal] by Gray Knowlton, group product manager for Microsoft Office. |
||
*[ |
*[https://learn.microsoft.com/en-us/openspecs/main/ms-openspeclp/3589baea-5b22-48f2-9d43-f5bea4960ddb Open Specifications] — Documentation for the covered specifications. |
||
{{Microsoft FOSS}} |
|||
{{FOSS}} |
{{FOSS}} |
||
Latest revision as of 20:20, 25 August 2024
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
[edit]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]
"...it 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:
- 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.[9]
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
[edit]Technologies on which the Open Specification Promise applies are:[1][13]
Web Services
[edit]- Devices Profile for Web Services (DPWS)
- Identity Selector Interoperability Profile v1.0
- Identity Selector Interoperability Profile v1.5
- Open Data Protocol (OData)
- Remote Shell Web Services Protocol
- SOAP
- 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
- WS-Addressing End Point References and Identity
- WS-AtomicTransaction
- WS-BusinessActivity
- WS-Coordination
- WS-Discovery
- WSDL
- WSDL 1.1 Binding Extension for SOAP 1.2
- WS-Enumeration
- WS-Eventing
- WS-Federation
- WS-Federation Active Requestor Profile
- WS-Federation Passive Requestor Profile
- WS-I Basic Profile
- WS-Management
- WS-Management Catalog
- WS-MetadataExchange
- WS-Policy
- WS-PolicyAttachment
- WS-ReliableMessaging
- WS-RM Policy
- WS-SecureConversation
- WS-Security: Kerberos Binding
- WS-Security: Kerberos Token Profile
- WS-Security: Rights Expression Language (REL) Token Profile
- WS-Security: SAML Token profile
- WS-Security: SOAP Message Security
- WS-Security: UsernameToken Profile
- WS-Security: X.509 Certificate Token Profile
- WS-SecurityPolicy
- WS-Transfer
- WS-Trust
Web
[edit]- OpenService Format Specification (a.o. Accelerator)
- Web Slice Format Specification introduced with Internet Explorer 8
- XML Search Suggestions Format Specification
Virtualization Specifications
[edit]- Virtual Hard Disk (VHD) Image Format Specification
- Microsoft Application Virtualization File Format Specification v1
- Hyper-V Functional Specification[14]
Security
[edit]- RFC 4406 – Sender ID: Authenticating E-Mail
- RFC 4408 – Sender Policy Framework: 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[15]
- U-Prove Cryptographic Specification V1.0
- U-Prove Technology Integration into the Identity Metasystem V1.0
Office file formats
[edit]XML file formats
[edit]- 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
[edit]- 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
[edit]- [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
[edit]- [MS-CFB] Windows Compound Binary File Format Specification
Graphics formats
[edit]- Windows Metafile Format (.wmf) Specification
- Ink Serialized Format (ISF) Specification
- JPEG XR (.jxr) Format
Microsoft computer languages
[edit]- [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)
Robotics
[edit]- Decentralized Software Services Protocol – DSSP/1.0
Synchronization
[edit]- FeedSync v1.0, v1.0.1
Windows Rally Technologies
[edit]- Windows Connect Now – UFD and Windows Vista
- Windows Connect Now – UFD for Windows XP
Published protocols
[edit]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]:
- AppleTalk
- [MC-BUP]: Background Intelligent Transfer Service (BITS) Upload Protocol Specification
- [MC-CCFG]: Server Cluster: Configuration (ClusCfg) Protocol Specification
- [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
- 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)
- Serial Line Internet Protocol (SLIP, RFC 1055)
- 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 (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 (IPCP)
- RFC 1334 – Password Authentication Protocol (PAP)
- RFC 1393 – Traceroute
- 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 (RTP)
- RFC 1939 and RFC 1734 – Post Office Protocol, 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 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 (SASL)
- RFC 2225 – Asynchronous Transfer Mode
- Server Message Block
- Sun Microsystems Remote Procedure Call (SunRPC)
- T.120
- Tabular Data Stream (TDS) v7.1, 7.2, 7.3
- Universal Plug and Play (UPnP)
- Universal Serial Bus (USB) Revision 2.0
See also
[edit]References
[edit]- ^ a b "Microsoft Open Specification Promise". Microsoft. Retrieved 2007-11-02.
- ^ "Microsoft's Open Specification Promise Eases Web Services Patent Concerns". Retrieved 2015-04-18.
- ^ 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) - ^ "Microsoft's Open Specification Promise Eases Web Services Patent Concerns". xml.coverpages.org. 2006-09-12.
- ^ "Microsoft Open Specification Promise". Microsoft.
- ^ "Microsoft promises to hang patent fire over web services". 2006-09-12.
- ^ Peter Galli (2006-09-12). "Microsoft Promises Not to Sue over Web Services Specs".
- ^ "Software Freedom Law Center Publishes Analysis of Microsoft's Open Specification Promise". Software Freedom Law Center. March 12, 2008.
- ^ a b c d e "Microsoft's Open Specification Promise: No Assurance for GPL". Software Freedom Law Center. 2008-03-12. Retrieved 2008-03-30.
- ^ "GNU General Public License (Version 3, 29 June 2007)". Free Software Foundation. 2008-02-12. See section 11 for patents.
- ^ 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.
- ^ Microsoft Open Specification Promise - Frequently Asked Questions
- ^ Microsoft Office Binary (doc, xls, ppt) File Formats Archived April 30, 2008, at the Wayback Machine
- ^ Hypervisor Functional Specification
- ^ "[MS-DEVCENTLP]: Open Specifications Dev Center". www.microsoft.com. Retrieved 2014-05-08.
External links
[edit]- Open Specification Promise — Microsoft page describing the OSP and listing the specifications covered by it.
- Analysis of OSP by standards lawyer Andy Updegrove
- Analysis of OSP by Software Freedom Law Center. Rebuttal by Gray Knowlton, group product manager for Microsoft Office.
- Open Specifications — Documentation for the covered specifications.