Giving the Software Field Protection from Patents
A version of this article was first published at
in November 2012.
Patents threaten every software developer, and the patent wars we have
long feared have broken out. Software developers and software
users—which in our society, is most people—need software
to be free of patents.
The patents that threaten us are often called “software
patents”, but that term is misleading. Such patents are not
about any specific program. Rather, each patent describes some
practical idea, and says that anyone carrying out the idea can be
sued. So it is clearer to call them “computational idea
The US patent system doesn't label patents to say this one's a
“software patent” and that one isn't. Software developers
are the ones who make a distinction between the patents that threaten
us—those that cover ideas that can be implemented in
software—and the rest. For example, if the patented idea is the
shape of a physical structure or a chemical reaction, no program can
implement that idea; that patent doesn't threaten the software field.
But if the idea that's patented is a computation, that patent's barrel
points at software developers and users.
This is not to say that computational idea patents prohibit only
software. These ideas can also be implemented in hardware—and
many of them have been. Each patent typically covers both hardware
and software implementations of the idea.
The Special Problem of Software
Still, software is where computational idea patents cause a special
problem. In software, it's easy to implement thousands of ideas
together in one program. If 10% are patented, that means hundreds of
patents threaten it.
When Dan Ravicher of the Public Patent Foundation studied one large program
(Linux, which is the kernel of the
GNU/Linux operating system) in
2004, he found 283 US patents that appeared to cover computing ideas
implemented in the source code of that program. That same year, a
magazine estimated that Linux was .25% of the whole GNU/Linux system.
Multiplying 300 by 400 we get the order-of-magnitude estimate that the
system as a whole was threatened by around 100,000 patents.
If half of those patents were eliminated as “bad
quality”—mistakes of the patent system, that
is—it would not really change things. Whether 100,000 patents
or 50,000, it's the same disaster. This is why it's a mistake to
limit our criticism of software patents to just “patent
trolls” or “bad quality” patents. The worst patent
aggressor today is Apple, which isn't a “troll” by the
usual definition; I don't know whether Apple's patents are “good
quality”, but the better the patent's “quality” the
more dangerous its threat.
We need to fix the whole problem, not just part.
The usual suggestions for correcting this problem legislatively
involve changing the criteria for granting patents—for instance,
to ban issuance of patents on computational practices and systems to
perform them. This approach has two drawbacks.
First, patent lawyers are clever at reformulating patents to fit
whatever rules may apply; they transform any attempt at limiting the
substance of patents into a requirement of mere form. For instance,
many US computational idea patents describe a system including an
arithmetic unit, an instruction sequencer, a memory, plus controls to
carry out a particular computation. This is a peculiar way of
describing a computer running a program that does a certain
computation; it was designed to make the patent application satisfy criteria
that the US patent system was believed for a time to require.
Second, the US already has many thousands of computational idea
patents, and changing the criteria to prevent issuing more would not
get rid of the existing ones. We would have to wait almost 20 years
for the problem to be entirely corrected through the expiration of
these patents. We could envision legislating the abolition of these
existing patents, but that is probably unconstitutional. (The Supreme
Court has perversely insisted that Congress can extend private
privileges at the expense of the public's rights but that it can't go
in the other direction.)
A Different Approach: Limit Effect, Not Patentability
My suggestion is to change the effect of patents. We
should legislate that developing, distributing, or running a program
on generally used computing hardware does not constitute patent
infringement. This approach has several advantages:
- It does not require classifying patents or patent applications as
“software” or “not software”.
- It provides developers and users with protection from both existing
and potential future computational idea patents.
- Patent lawyers cannot defeat the intended effect by writing
This approach doesn't entirely invalidate existing computational idea
patents, because they would continue to apply to implementations using
special-purpose hardware. This is an advantage because it eliminates
an argument against the legal validity of the plan. The US passed a
law some years ago shielding surgeons from patent lawsuits, so that
even if surgical procedures are patented, surgeons are safe. That
provides a precedent for this solution.
Software developers and software users need protection from patents.
This is the only legislative solution that would provide full
protection for all. We could then go back to competing or
cooperating… without the fear that some stranger will wipe away
Patent Reform Is Not Enough