I’ve had software patents on my mind for several years. After listening to my colleage Allison Randal work on the Artistic License 2.0 for several years, I’ve finally noticed that other updated OSI-compatible licenses deal with software patents in two ways.
One is an implicit patent grant for receipients of the software. The other is some form of patent protection for receipients of the software. (It’s difficult to create a penalty for acting in an anti-social way regarding patents other than to nullify some portion the license for the offendor, in which case standard copyright law applies, but it can be an effective deterrent.)
The MSPL has an explicit patent usage grant in Section 2B:
There’s one possible word missing in that grab-bag of verbs: perpetual (though irrevocable would work). Still, as far as patent usage grants go, this is decent. Compare it to the Apache 2.0 license, section 3:
This one does contain perpetual and irrevocable, though so noted with one possible exception. The important question is “What’s the exception?” It should be no surprise that the answer is “Protection from litigation.”
Per reasonable comparison, I think it’s fair to claim that these licenses are similar enough in this case.
The Patent Poison Pill
What happens if you file a claim regarding a patent implemented in the work? The MSPL section 3B says:
That is, if you initiate legal action against any contributor to the work regarding a patent which the work may infringe, your right to the patents of that contributor (under this agreement) go away.
Set aside that commentary for a moment. The Apache 2.0 license (again section 3) is much more strict:
If you file a claim (even in response to a claim) that the work infringes on one of your patents, against anyone, not just a contributor, you lose this license’s grant of patent usage.
Now neither license offers any protection against patent trolls who don’t use the software at all, but adding such language to any OSI-approved license is difficult. (Such language would likely overreach the scope of the license and offer no protection.) However, it’s interesting to see how anemic the MSPL is.
Suppose I, as an individual, contribute to a work licensed under the MSPL. A company which uses the work decides that my contribution infringes upon one of their patents, and files suit against me. Under the terms of the license, they no longer have an implicit right to any patents I hold on the work.
The problem is that I don’t hold any software patents. As an individual, it’s likely that I never will. Worse, I don’t even have to be a contributor. I could even be a mere user of the work, and a likely target. (It’s even more fun to point out that even if you receive MSPL-licenced code from Microsoft, they can revoke their patent grant immediately and file a claim against you. You might get some traction with estoppel, but the license language isn’t that strong, and a SLAPP that gets thrown out eventually is still painful.)
If I had contributed instead to a work under the Apache 2.0 license, all patents held by all contributors–revealed or not–are on the line. Note also that the target of the legal action does not have to be a contributor to the software. The target can be completely independent of the project. The target doesn’t even have to use the software.
With a patent protection clause as anemic as MSPL 3B, I wonder why even bother adding it to the license. Though I don’t really believe it’s this useless as part of some sinister master plan, I think it demonstrates that Microsoft still doesn’t understand that there’s no distinction, in terms of our licenses, in the FOSS world between users, contributors, and companies.