Brian Behlendorf wrote:
Apologies if this is retreading old ground, and off-topic since it's not
about approval of a license, but we're working on the next version of the
Apache license and are looking at the patent language in various licenses.
Here's how I read it.
I'm trying to tell if the patent grants by Contributors described in
section 2.2 apply to derivative works, either published by the same entity
as the Original Code, or a third party). My read of 2.2 (IANAL, etc)
suggest that the patent grant *only* applies to the specific Contributor
Version,
Yes.
e.g. the Original Code plus the Contribution to which the patent
applies. E.g.:
Almost. The Contributor Version also includes previous Modifications
made by others. The idea is that a developer makes a patent grant equal
to the version of code which it created with its Modification. This is
broader than making a grant solely to its own Modifications. We felt
that allowing an entity to benefit from its use of the entire codebase,
grant patent license only to its narrow Modifications, and still be able
to sue all the other developers of the codebase the company used to
create its Contributor Version was a bad bargain. A developer who
contributes more code should not be at a disadvantage vis-à-vis a
developer who uses that code but makes only small modifications and thus
more limited potential patent grants. Limiting the patent grant to the
exact Modifications made by the developer would allow the patent
language to be simpler, since one could dispense with the abstraction of
the "Contributor Version." We opted to pay the price of complexity in
order to minimize the scenarios described above.
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license [...] under Patent Claims infringed by the making,
using, or selling of Modifications made by that Contributor either alone
and/or in combination with its Contributor Version (or portions of such
combination), to make, use, sell, offer for sale, have made, and/or
otherwise dispose of: 1) Modifications made by that Contributor (or
portions thereof); and 2) the combination of Modifications made by that
Contributor with its Contributor Version (or portions of such
combination).
What happens to a derivative work of the Contributor Version?
The scope of the patent grant is not enlarged by subsequent derivative
works of the Contributor Version. If the scope was so enlarged, the
Contributor would have no idea how broad a set of patent grants it
would ultimately end up making.
E.g., the
developers at Mozilla.org merrily commit the patch corresponding to that
Modification from said Contributor, and then make another commit, and
another, then make a release. Given the language in the license, how does
that patent grant apply to this new work? This new work is not the
"Modification alone", nor is it the "Contributor version", nor really "a
portion of such combination" - it contains the Modification, but even that
Modification may end up modified at some point.
A Contributor is not making a patent grant for infringements caused by
code added after the Contributor Version. Same for combinations -- a
Contributor is not making a patent grant for infringements caused by
combinations created after the Contributor Version. If either of these
were the case, then the Contributor would have no way of knowing the
ultimate scope of the patent grants it was making.
2.2(d)(3)(i) appears to suggest that "third-party [who's a third party?]
modifications of Contributor Version" don't get that patent grant; neither
do those who "combine with other software".
Section 2.2(d) reflects the extended discussions we had with a set of
patent lawyers. I think it's arguable that 2.2(d) is not needed at all,
it is the negative of 2.2(b). So "pure" contract drafting might leave
it out. But often people want to see what they care about written down,
not implicit in other language. 2.2(d) is included to provide explicit
language for those who want to make sure their patent grant is limited.
So 2.2(d)(3)(i) explicitly says that there is no patent grant for
infringements caused by code added or combinations created after the
Contributor Version.
Yikes! That only further
confuses the situation. Does putting Mozilla on a CD with some "other
software" and calling that a product constitute combination, and thus
lose the patent grants?
One does not lose patent grants that were made in the Contributor
Version. Section 2.2(d) is the opposite --if you put Mozilla on a CD
with other software, you cannot claim that the patent grants made by a
Contributor now extend to combination you've made.
The root question for us (Apache) is, does a contributor grant need to
explicitly state that a grant of a patent license on a contribution
applies to derivative works of the resulting "contributor version". If
that's the case, some say we need to limit the types of derivative works
it can apply to, since allowing any derivative work to carry the patent
grant would mean that anyone with a commercial product who wanted to use
that patent without paying could do so by pulling the right Apache code
into their own. Limiting it to derivative works published by the ASF is
one option, published under any open source license is another. But we'd
really prefer not to invent new language here, so I'm trying to understand
language like this in existing licenses.
Of course, I'm not giving legal advice.
Mitchell
--
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3