Does the OSP make OOXML an "open standard"?
Forum » News / Front-page » Does the OSP make OOXML an "open standard"?
started by: arebentiarebenti
on: 1223605186|%e %b %Y, %H:%M %Z|agohover
number of posts: 8
rss icon RSS: new posts
summary:
Microsoft finds the Open Specification Promise (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."
Does the OSP make OOXML an "open standard"?
arebentiarebenti 1223605186|%e %b %Y, %H:%M %Z|agohover

Recently the Microsoft OSP information page was updated. To those who don't know what the OSP is, a brief introduction: Most standard organisations provide for minimum requirements of patent licensing under RAND terms ("reasonable and non discriminatory"). A better description for RAND license models is "uniform fee". Participants in the standard process have to guarantee that everyone may implement the standard and they need to offer their patents necessary for the standard under a uniform fee. For a standard for ubiquitious software as Office productivity suites this is generally not perceived acceptable. RAND is also discriminatory because the vendor holding the patent does not have to pay a fee to himself what puts him into a competive advantage. A government which would mandate RAND standards essentially agreed to allow a private tax on the standard for the benefit of the vendor which holds patents.

The RAND terminology is confusing because RAND is not well defined and covers a zoo of patent licensing schemes. Of course RAND terms can also be free of charge, this is the case with some RAND licensing models, e.g. FRAND. RAND-Z licenses are "zero fee". However, even royalty-free RAND standards may impose other restrictions. The litmus test whether an international standard is really "royalty-free" without undue restrictions, also known as an essential condition for an "open standard", is whether it enabled implementations under the GNU GPL. If participants in the standard process chose to make it voluntarily an "open standard" ISO does not provide a standard scheme on how to indemnify implementers and users. They don't have a standard RF license. The field of patent indemnification license models is still under development. Just have a look at the collection of licensing and indemnification models at the patent commons website. No one really knows which model is legally safe and sound on a world wide scale as international private law is very much diverse. Certainly trust into the licensor comes into play here.

The main sponsor behind OOXML, the Microsoft Corporation, assured the European Commission that they would chose a RF model for their future Office format.1 However, their public affairs representatives repeatedly casted doubt whether their chosen patent license model would enable implementations under the GNU GPL and forcefully lobbied domestic and oversees legislators against open standards. The intense struggle has two levels. On one layer the question is RAND or RF as appropriate licensing conditions, on a second layer the attempt was to redefine the terminology of "open standards" to become RAND compatible. A "success" of the lobbying effort was the ITU-T definition of "open standards" drafted by a patent attorney working group which made the limbo for RAND licensing conditions. As an effect all international standards would become "open standards". It comes at no surprise that vendors are sceptical about the honesty of the Microsoft patent schemes and are suspicious about hidden agendas.

Following criticism of the first model, the CNS, Microsoft came up with an Open Specification Promise as their new favourite patent indemnification model. In the FAQ they deliberately leave the question of GPL applicability open and stress that the OSP "does not need to be sublicensable".

The Open Specification Promise is a simple and clear way to assure that the broadest audience of developers and customers working with commercial or open source software can implement the covered specification(s). We leave it to those implementing these technologies to understand the legal environments in which they operate. This includes people operating in a GPL environment. Because the General Public License (GPL) is not universally interpreted the same way by everyone, we can’t give anyone a legal opinion about how our language relates to the GPL or other OSS licenses, but based on feedback from the open source community we believe that a broad audience of developers can implement the specification(s).

Recently a new item was added to the OSP FAQ:

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.

We will see how future updates of the Open Specification Promise (OSP) would reflect this policy. The uncertainty causes many vendors to ask for other bilateral patent indemnification agreements. Some persons who do not trust the OSP asked Microsoft for the text of the FRAND license (mentioned in the ISO documents) as the third available model along CNS and OSP but had no success. Apparently such a third license model is not provided contrary to earlier formal statements and the argument is raised that the OSP would obsolete the third FRAND license.

last edited on 1223606889|%e %b %Y, %H:%M %Z|agohover by arebenti + show more
unfold Does the OSP make OOXML an "open standard"? by arebentiarebenti, 1223605186|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
zoobabzoobab 1223649345|%e %b %Y, %H:%M %Z|agohover

The real question is whether the FRAND license discriminates, and what kind of restrictions are in there.

The OSP is not trustable.

unfold Re: Does the OSP make OOXML an "open standard"? by zoobabzoobab, 1223649345|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
stegustegu 1223934927|%e %b %Y, %H:%M %Z|agohover

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.

The key issue here is the qualifier "any Covered Implementation". GPL code is not supposed to contain any restrictions for reuse, other than that any derived code must also be released under the GPL. The OSP makes it impossible to safely modify OOXML processing software and redistribute it, unless you make sure it is still a "covered implementation". Exactly what constitutes a "covered implementation" is clear on at least one point: you have to implement the broken specification from the ECMA standard or the unsupported version in the possibly upcoming ISO standard, not the working version from the real world as seen in Office 2007. Because of this, the OSP is useless.

Even if the standardized spec was correct, the OSP is incompatible with the GPL because it contains restrictions on modifications of an implementation. An OSP-covered implementation is simply not completely free. That makes it GPL-incompatible, and I think that Microsoft's FAQ is willfully misleading in this respect. It is not safe to include OOXML code in a free software project - you need to tell all your users to stay away from modifying the OOXML bits of the code, or they are at risk of being sued.

The OSP might look nice at a quick glance, but it is carefully tailored to mean close to nothing. The question is not whether it can be trusted. It contains only empty promises, therefore it has no value.

last edited on 1223934962|%e %b %Y, %H:%M %Z|agohover by stegu + show more
unfold Re: Does the OSP make OOXML an "open standard"? by stegustegu, 1223934927|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
zoobabzoobab 1224021122|%e %b %Y, %H:%M %Z|agohover

The trick is the change the FAQ, not the OSP itself :-)

unfold Re: Does the OSP make OOXML an "open standard"? by zoobabzoobab, 1224021122|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
arebentiarebenti 1224585928|%e %b %Y, %H:%M %Z|agohover

Which alternative model is compatible?

I don't share your interpretation. But of course you cannot blame GPLv3 on the patent licensor. I also would be more cautious with loaded language as "free".

unfold Re: Does the OSP make OOXML an "open standard"? by arebentiarebenti, 1224585928|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
stegustegu 1224886433|%e %b %Y, %H:%M %Z|agohover

André, what is it you are not agreeing to in my interpretation? According to the literal reading of Microsoft's OSP (which is the only reading I am prepared to make of any written promise from anyone, ever), the freedom to change and adapt existing code for other purposes than implementing a "covered implementation" of OOXML is explicitly excluded from their promise not to sue. This makes any work performed under the "protection" of the OSP legally unsafe to distribute under GPL, be it version 2 or 3.

Anyone touching the code needs to be made aware of the fact that those parts of the code which concern OOXML are not to be changed to do anything that Microsoft does not grant you explicit rights to implement, and there is simply no provision for that in the GPL license model.

This is why the OSP is incompatible with GPL. This is why I decided to use the big word "free" and say that OSP is not a license suitable for free software. The freedom to innovate, modify and redistribute for any purpose is not there, it is explicitly taken away by the OSP. This is why I think it is still unsafe to include OOXML support in GPL software. If Microsoft wanted the OSP to be GPL compatible, they would just have told us exactly which patents they hold that they think are applicable, licensed them perpetually for free to anyone for any purpose and be done with it. That would be 100% compatible with the GPL, and send a clear message to developers that they are not up to any tricks. Of course, it would also make those patents useless as ammo for litigation from then on.

You need to perform separate licensing of related code to develop under the OSP - GPL licensing by itself is not going to cut it. In fact, I think this is intentional. MS wants to drive a wedge into some big GPL projects and get some non-GPL code in there at all costs.

"See, even OpenOffice.org uses dual licensing, you shouldn't be so concerned with not being able to use the GPL. Please accept our vague and unspecific patent promise, it's free. Just don't read the fine print."

I do not think I used the word "free" in a sloppy manner. If you think so, please tell me why.

last edited on 1224886742|%e %b %Y, %H:%M %Z|agohover by stegu + show more
unfold Re: Does the OSP make OOXML an "open standard"? by stegustegu, 1224886433|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
arebentiarebenti 1225825056|%e %b %Y, %H:%M %Z|agohover

I would describe that as nonsense. If the code does not cover the specification then it covers something else. The patent indeminification has nothing to do with that.

unfold Re: Does the OSP make OOXML an "open standard"? by arebentiarebenti, 1225825056|%e %b %Y, %H:%M %Z|agohover
Re: Does the OSP make OOXML an "open standard"?
stegustegu 1225851445|%e %b %Y, %H:%M %Z|agohover

If the code does not cover the specification then it covers something else. The patent indeminification has nothing to do with that.

My point exactly, as I see it. Code that is covered can not be safely released under the GPL, because if anyone modifies it to do something differently, it will no longer constitute a "covered implementation", and then the code is a target for a lawsuit based on a number of undisclosed MS patents. This is not how the GPL development model is supposed to work, and such patent bombs are highly undesirable in any open source project.

I think we agree for the most part, so I should probably just shut up. :)

unfold Re: Does the OSP make OOXML an "open standard"? by stegustegu, 1225851445|%e %b %Y, %H:%M %Z|agohover
new post