Subject: RE: A Primer on Infringing Patents in Software
From: <stephen@xemacs.org>
Date: Tue, 10 Oct 2006 14:03:18 +0900

Lawrence Rosen writes:

 > > > I hope a real lawyer will speak up,
 > > 
 > > Me too.
 > 
 > Me too. 

*wince*

 > I hope the licensors of the (GPL-licensed?) software speak up. It
 > depends entirely upon them, since they own all relevant copyrights
 > and patent claims, correct?  If not, I hope the relevant patent
 > owners speak up here about the language of their patent licenses.

Larry, you are under no obligation to answer us at all, and I
appreciate that you are doing the best you can to teach us without
saying things that are misleading or false in the light of your
knowledge of the law and legal proceedings.

Nevertheless, I must warn you that in this thread your comment is
likely to be disastrously misinterpreted because specific language in
licences is being discussed.  Among others, we're talking about the
GPLv3d2 section 11.  This is a template license; there *are no owners*
to speak up.

Taken in that context, your comment has implications that I don't like
at all, namely that template licenses are useless to licensees (they
need to ask the licensor what it means, and they'd best "get it in
writing"!), and that the scope of license granted by given language is
inherently uncertain (ie, not a defect of specific language)---which
is the kind of defect of copyright that you claim is not present in
patent.

Even if you are unable to discuss the concrete issues raised in the
sequel, I hope you will clarify that it's lack of time or interest, or
a fixable ambiguity in the particular language, that is the issue, not
that it's in principle impossible to get a pretty good idea of the
meaning of a specific template license.

				 ****

Let's ignore the GPLv2, and restrict attention to the GPLv3d2 section
11 paragraph 1, which I reproduce here for convenience of reference.
(I omit the second sentence, which is a reciprocality condition, and
AFAICS doesn't further clarify the nature of the covenant.)

    You receive the Program with a covenant from each author and
    conveyor of the Program, and of any material, conveyed under this
    License, on which the Program is based, that the covenanting party
    will not assert (or cause others to assert) any of the party's
    essential patent claims in the material that the party conveyed,
    against you, arising from your exercise of rights under this
    License.[1]

To clarify the issue of the ownership of relevant IP, let's assume the
IP in the program is entirely owned by the collection of covenanting
parties.

Now, surely "will not assert", "essential patent claims", and "arising
from your exercise of rights" have well-defined meaning in law?

For example, AIUI, with respect to "patent claim" Tom has argued that
when a device which is claimed as "making a computation involving a
prime number contained in a register" is actually implemented in the
conveyed software using a 16-bit register, the covenant above is
restricted to implementations using 16-bit registers.

My counter-argument is that if the patentee wants the covenant of
section 11 to do that kind of thing, they had better claim

    (1) a device performing a computation involving a prime number
        contained in a register of the device

    (2) the device of (1) where the register is no more than 16 bits
        in size

    (3) the device of (1) where the register is between 17 and 1024
        bits in size, inclusive

    (4) the device of (1) where the register is greater than 1024 bits
        in size.

    where a "register" is defined to be a specified store which can
    contain a range of integers whose representation requires at most
    a number of bits that is fixed when the device is instantiated.

Ie, (3) and (4) do not "read on the device" (is that correct
phrasing?) conveyed in Tom's story and thus are not included in the
"bag of claims" covered by the covenant.

Then there are two questions here.  (a) Am I correct that Tom's
argument is false when only claim (1) is patented?  (b) Under what
conditions can patent-holders legitimately split up their claims as I
proposed?

In the example, doing computations with a 16-bit register and with a
1024-bit register are conceptually the same.  All the technical issues
are the same.  For example, IIRC using the GMP package you can set the
size of a fixed-precision integer (ie, a "register" as defined above)
to be any number of bytes you like; you are restricted only by the
amount of memory you have available.  I would contend that all of (2),
(3), and (4) are already in (1), there is nothing unobvious or novel
about them.[2]

Note that I am not denying that the rights holder can write a license
that says "you may embody claim (1) in your products as long as the
register is no larger than 16 bits".[3]  I am saying that (c) the
covenant's language refers to the claims actually enumerated in the
patent, and therefore the size of the register in the conveyed program
is irrelevant if the patent is restricted to claim (1).

And (d) I believe the patent would be restricted to claim (1), because
claims (2) to (4) are not patentable given current technology for
manipulating registers.

Do you mean to say that "all of (a) - (d) would have to be decided in
court on a case by case basis; if you want my advice, that would be a
billable service"?  That is of course an acceptable---and useful---
answer.  However, it completely vitiates the claim that you have made
that patent law is easier to apply than copyright law.

Footnotes: 
[1]  "Essential patent claims" is defined in Section 0 as

    A party's "essential patent claims" in a work are all patent
    claims that the party can give permission to practice, whether
    already acquired or to be acquired, that would be infringed by
    making, using, or selling the work.

[2]  Of course we may be getting into the sizes where "efficient
multiplication" algorithms become relevant, but I think we can
stipulate that those are not in the scope of this patent.

[3]  IIRC, RSAREF actually was licensed or had a covenant under those
terms, except that the number of key bits was 128.