Scrutinising the Microsoft WSPP Development Agreements

Disclaimer: Just my opinion, not the official opinion of the Software Freedom Law Center on whose board of directors I serve. Thanks to Anne-Catherine Lorrain for research on the reverse engineering and decompilation exceptions of the 1991 directive.

Microsoft has published its licenses for access to interoperability information in the field of file and printer servers on 25 October 2007. Here is an overview of issues raised by these licenses and their acceptation by the Commission in its competition case.

GPL-compatibility
Reverse engineering and decompilation compatibility
Interoperability policy issues
Patentability policy issues

GPL-compatibility

It is the general opinion than the All Intellectual Property and Patents Only licenses are clearly incompatible with the GPL. The European Commission itself has issued a FAQ in which it mentions that some open source licenses are incompatible with the Microsoft WSPP patent licenses. A more detailed analysis has been posted on Groklaw. It is meaningless to try to figure out whether these licenses have been intentionally designed to be incompatible with the GPL or whether the is just a normal result of Micrsoft’s lawyers way of thinking.

So the only remaining question is whether the No Patents license is GPL-compatible.

The first obvious problem is that people using this license risk being sued by Microsoft for alleged patent infringement. Microsoft has published a pledge not to do so for “non-commercial open source projects” but the distinction between commercial and non-commercial is itself GPL-incompatible. The validity of any of the patents listed by Microsoft in Europe is subject to severe doubt, including for those patents that have been granted by the European Patent Office: all these patents are obviously for software, data structures or information protocols (= mathematical methods) as such, all being subject matters excluded from patentability in the European Patent Convention. However, the existence of -even invalid- European patents is a high risk specially after directive 2004/48. This directive has created extreme preventive measures for enforcing patents that leave you with the satisfaction of winning cases against abusive procedures only post mortem. Anyway, this is of limited interest to F/OSS developers as the distribution of their source code is by nature global. Not that the validity of Microsoft US patents should be taken for granted, but litigating against them is a hard bet for individual F/OSS projects.

Now let’s assume a F/OSS project is ready to take the patent preventive measures and litigation risks. Is the license itself GPL-compatible? After reading several times the 53 pages text, there is only one particular clause that possibly raises issues of compatibility with the GPL. The license is not a software license, so the question is whether the process and conditions put on accessing the interoperability information are incompatible with the GPL. The process is certainly painfully complicated. The termination provisions seem to require a careful study, in particular 9.4.(d):

(d) Expiration or Termination of this Agreement do not affect the rights of recipients of source code versions of Licensed Server Implementations to copy, distribute and modify source code versions of Licensed Server Implementations.

This implies that for licensees of GPL-ed or other free software of interoperability implementations, the source code of interoperability implementations can be copied, modified and distributed without any relationship with Microsoft. But do they have a right to run that software for any purpose ? That’s where a possible incompatibility issue lies (not only with the GPL but possibly also with other free software license). The answer to the compatibility question is not obvious, because one can wonder whether Microsoft could make any claim (not based on patents) against the right of people to run a piece of original software when the licensor has authorized them irrevocably to do so.

I may have missed other possible incompatibility sources and would be happy to stand corrected if I did[1].

The 10,000 euros downpayment is adverse to F/OSS, but as mentioned in my previous post, solutions can be devised to ease the pain. The problem is that this is just for file/printer servers and related protocols, and there are many other interoperability issues for which, if this were to be considered a precedent, Microsoft could ask for indeterminate payments for access to interoperability information. On this, see below the section general interoperability policy issues.

Reverse engineering and decompilation compatibility issues

The 91/250/EEC software protection by copyright directive has created in its articles 5 and 6 limited exceptions for conducting reverse engineering and decompilation. Reverse engineering is limited in the sense that only some method are authorized. Decompilation is more limited and in particular, there are these conditions:

(a) these acts are performed by the licensee or by another person having a right to use a copy of a program, or on their behalf by a person authorized to to so;
(b) the information necessary to achieve interoperability has not previously been readily available to the persons referred to in subparagraph (a); and (c) these acts are confined to the parts of the original program which are necessary to achieve interoperability.

What does “readily available” mean ? Does Microsoft offer of a license mean that the information is readily available. It seems hard to imagine that anything that requires such a complex procedure and a payment of 10,000 euros can be considered readily available. So it is clear that people who do not enter in the WSPP development agreement definitely can still use the interoperability provisions of 1991/250/CEE. What about those who do enter in the agreement? I could find nothing in the license indicating that the licensee would renounce to its rights under 1991/250/CEE. However, condition 6.b can be claimed to be no longer met for a party entering the WSSP agreement since the information has been “readily available” to it at some previous stage. For the licensee (of the WSSP agreement), entering into the agreement may thus be incompatible with future usage of the decompilation exception.

The next 2 sections regard policy issues that are not directly connected to the outcome of the Microsoft competition case, but that are worth commenting in this context.

General interoperability policy issues

The European Commission was in these matters acting as part of a competition case. Article 82 of the EC treaty (dominant position abuse) does not make it easy to apply interoperability-related corrective measures from a public interest perspective. This has led commentators to state that the European competition policy protects competitors rather than the public or consumers. In addition, European competition policy is by nature corrective rather than preventive, with the possible exception of merger cases.

It is thus not surprising that the European Commission focused here on corrective measures and designed them under a TRIPS article 31 and 13 type of umbrella. What is more debatable is the acceptance that trade or production secrets or even know-how constitute a form of intellectual property. In effect, trade and production secrets lack the basic attributes of any form of property. It may be illegal to gain access to a trade or production secret, because the acts needed for this access are illegal (for instance breaking in a computer network). But it one gets access to a trade or production secret by chance, or by guessing it, nothing can stop him or her to use it, simply because … it is no longer a secret. Trade and production secrets are destructed by exposure. Such entities can be exclusive only by being hidden, which sets them apart from any form of socially recognized property (be it in the intellectual sphere).

Beyond the Microsoft case, what needs to be considered is the requirements for an efficient future interoperability policy. I have long advocated a public interest-oriented preventive interoperability policy for generic applications (applications constitutive of the basic capabilities for individuals and groups to act in the information society, which is of course a moving target). I defend that a TRIPS article 13 and 30 approach for compulsory licensing can be applied in such a policy. Article 30 is necessary only due to the absurd recognition of software patents in some areas of the world. Such a compulsory licensing would not conflict with a normal exploitation of the work nor unreasonably prejudice the legitimate interests of the right holder, because in an information society, making a generic application not interoperable is not reasonable nor legitimate and constitutes an anormal exploitation of a monopoly. If a compensation is needed, it need not be paid by individual users as part of access to interoperability rights: it can be set by the government or law when it defines the exception, limitation or compulsory license, and take many forms (lump sums such as those imagined for buying back patents, flat rate fees on general usage, etc.).

It may be that a compulsory licensing would actually be very seldom needed if a proactive interoperability policy were to be conducted on other grounds, f.i. by requirement of open standards (in the demanding sense of the [IDA-BC definition]) in any governmental application.

General patentability policy issues

What does the Microsoft case tells us about software patentability policy. As I already stressed, the Commission acknowledges that a significant set of parties challenge the validity of software or information patents such as those listed by Microsoft. It does not mean that it endorses this view, but at least it did not wish to challenge it.

In addition, the analysis of the patent licenses is a striking illustration of how the existence of software patents defeats the very possibility of GPL-ed interoperability implementations. As the foundational nature of the GPL in the overall F/OSS ecosystem and of F/OSS in practical interoperability is greater than ever, it becomes urgent to bring the European Patent Office practice back in line with its legal charter. For a start, one will monitor with a specific attention the fate of the 9 European patent applications listed by Microsoft in this respect.


[1]A tricky case arises from this paragraph:

(i) Rights. Although Microsoft warranty and notice obligations regarding Third Party IP Claims (as defined below) are provided in Section 3.3(c)(ii) and Section 6.4, it is also possible that third parties may have intellectual property rights in the WSPP Protocols of which Microsoft is unaware or under which it is not free to sublicense, and accordingly, Licensee acknowledges that it may be required to obtain additional license rights from third parties in order to implement the WSPP Protocols under the licenses granted in this Agreement.

Now the GPLv2 has this in its article 7:

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

However this does not seem to be an incompatibility because Microsoft is not licensing software (and certainly not under the GPL). Microsoft’s licensee (the hypothetical F/OSS project) is also not in the situation of article 7, even after entering in the agreement. A similar reasoning seems to apply to GPLv3’s article 11 provisions.

No Comments

Leave a Reply

Your email is never shared.Required fields are marked *