Jump to content
The Inquirer-Home

Patent lawyers don't understand software

Send them back to school
Monday, 16 November 2009, 13:26

AN EXPERT IN COMPUTING has suggested that most patent lawyers can't locate their buttocks with both hands when it comes to the nitty gritty of computing, and that computers quite simply don't work the way that most members of the legal profession presume that they do.

Writing for the technology legal champion Groklaw, a 25-year veteran of the computing industry with a masters degree in computer science known only as PO1R reckons that most legal decisions connected to computing software fail to accord with reality. To explain that he (or she) has written a fascinating and informative paper on the fundamentals of computing and what's wrong with trying to patent software.

The 18,000 word submission is couched in such dense language that most INQ readers will be gnawing on their knuckles by the time they get half way through it, but the arguments put forward by PO1R have far-reaching implications for the future of the software industry in general and one long-running patent case in particular.

In 1997 Bernard L Bilski filed a patent application for a business method of calculating hedging risks in commodities trading. Basically the method was just a mathematical algorithm for predicting the supply of and demand for various commodities and adjusting some predictions about the future prices of those commodities based on the maths.

The patent application was rejected on the grounds that "the invention is not implemented on a specific apparatus and merely manipulates [an] abstract idea and solves a purely mathematical problem without any limitation to a practical application, therefore, the invention is not directed to the technological arts."

That judgment, that all software is an abstract idea and therefore can not be patentable, could be the single most consequential ruling in the history of computing. If that is upheld on appeal before the US Supreme Court, it could invalidate all software patents and create a world where software can no longer be patented, but we are getting ahead of ourselves here.

The ruling, according to PO1R, rests on a few simple principles, although he does then go on to explain these in detail, which some might think makes them far more complicated than they really need to be. The basic rules are as follows:

All software is data
All software is discovered and not invented
All software is abstract
All software is mathematics.

We think what he is saying is that, as mathematics is, by its very nature, pre-existing - in other words, you can't invent the mechanics of mathematics, you can only discover them - and as software is simply, at the end of the day, just mathematics, it is or at least should be totally impossible to patent software.

Which is a bit like telling a best selling author that, as he didn't discover all of the words in his latest book, and that all he really did was put them in a particular order, he has the right to get paid for writing it, but he can't prohibit anyone else from using any of those same words. When put like that, this is just common sense really, innit.

This concept only relates to software at its most basic - or complex, depending upon how you look at it - level. We're talking about the underlying mathematical structure of a piece of software here folks, not the shiny stuff you see on your screen.

But the concepts in the Bilski case are far more fundamental, and it's the fundamentals of mathematics and how they relate to the way computers work that concerns Groklaw member PO1R. He offers up an in-depth guide to computational theory that is almost guaranteed to make your brain hurt, explaining everything from effective methods through formal systems via computable functions, Gödel Numbers and the Church Turing Thesis.

PO1R maintains that in order for lawyers and judges to properly execute their legal duties, they first need to understand the relationship between mathematics and computing. What it all boils down to is that the only difference between a computer and a mathematician with a pencil and a piece of paper is the speed at which they can carry out calculations.

A computer is nothing more than a box of bits that is very quick at mathematical mechanics. And since you can't patent abstract concepts like all those of mathematics, then you can't patent software. Simple.

Now we can watch the patent lawyers jump through all sorts of hoops trying to make software all so very complicated - and patentable, of course - all over again. µ

Share this:

Comments
Pantent vs Copyright

Clearly the author of this article does not understand the difference between a patent and copyright. Authors of books don't patent the book they receive a copyright. Your comparison actually supports the idea that software should not be patentable. Nice job!

posted by : Dave, 16 November 2009 Complain about this comment
No stopping lawyers

Companies and their lawyers will simply switch to filing massive quantities of copyright infringement suits instead of patent infringement suits.

posted by : wtf, 16 November 2009 Complain about this comment
Software Patents

It's all binary to me!

posted by : Russell Chapman, 16 November 2009 Complain about this comment
So? What's Your Point?

So now we know why programmers never become students of law.

Software is a commodity just like a transistor or an intake manifold venturi design or am object created from sticks and stones.

As such it can be shown to have not existed at one time and to have existed at a later time. That fact alone makes it patentable.

Of course that opens babies to being patented, and rest assured when the first successful human clone is created, the process, if not the instance, will be patented.

Ah lawyers: they make the rules, they interpret the rules and they cause enforcement of the rules. Gotta love 'em.

posted by : Doug Glass, 16 November 2009 Complain about this comment
@dave

I could be wrong here, but I believe that was in fact the argument he was intending to put forward. Thus, just like books, software can't be patented but could be protected by copyright. That's how I read it, anyway.

posted by : imposter, 16 November 2009 Complain about this comment
Jumping through hoops

The problem here is that patents are - except in the view of a few large corporations (and even then mostly from the perspective of management) - are huge pain to the software industry; far more time is spent artifically avoiding other people's patents than would ever be gained by looking up pre-existing solutions. The entire industry is effectively based on finding intelligent solutions to problems; it's an industry full of inventors. This wasn't the case when patents came about - people working machinery in cotton mills weren't spending their time trying to invent a better machine.

If someone invents, and patents, a better way of making a product, they get some extra money out of it and the industry can, eventually, move on. In the software industry, the ideas *are* the products; a software patent stops competitors from being able to produce a product at all, and patenting ideas in a field fully occupied with invention is more likely to hinder parallel invention than expose new solutions.

Trying to explain software as mathematics is just an attempt to try to get the patent system to leave the software industry alone, without needing a complete reform of the patent system. Better, in my book, for the patent lawyers to understand the problem and litigate appropriately, than for them to have to interpret a legal loophole in a way which gets the same result. The software industry is big enough that it ought to be able to lobby sensibly on the subject.

Copyright is different. I feel that if you write some software that does the same thing as someone else's, it's your own work. If you do so by reverse-engineering someone else's code, you've copied it, and you should be liable to copyright infringement. Ripping up patent law but throwing the book at anyone who infringes copyright seems the right approach to me.

This doesn't just apply to software patents - copyright could work just as well for the pharmaceutical industry (copying your drug design is an infringement of copyright, finding another drug that works in the same way isn't) or patents in general (making a cyclonic vacuum cleaner is okay, doing it by reverse-engineering a Dyson isn't).

posted by : Andrew Garrard, 16 November 2009 Complain about this comment
aha

one question... Does this mean I can keep all my pirated software?
8)

posted by : I know, 16 November 2009 Complain about this comment
Sticky complications.....

Here's where I have a problem:

"All software is discovered and not invented"

It's a tough call here.

Simple example if the problem: Say the simplest program, one that says “hello” and exits, is only about 1,000 bytes long on an Intel chip. You fashion a binary value 1,000 bytes long, all zeros. Increment by one and “try” the result as an executable file. It will fail. Increment and repeat until it happens to execute. Eventually you will have the target “application” file. For a 1,000 byte program, this might take a few months (it can FASHION the program within a few hours or days, but testing the candidates and judging the results takes longer).

Thus, true, any application you create CAN be discovered.

This happens to be true, to, of any text, any book, all web pages – any representation that can be resolved to a binary representation (or subset of it), like audio. You could, literally, create every song that will ever be recorded with a duration of exactly 3 minutes, given sufficient time.

On the other hand, with training, a human can create a textual representation of that program, process it through a compiler, and generate the expected target much more quickly. This isn’t “discovery” any more than the creation of a new poem or story, it is creation. That doesn’t necessarily translate into invention, though.

But we must choose with regards to what we intend to protect. Protecting a software patent does threaten the industry’s forward advancement, and places smaller (and individual) developers at great risk for any product they might otherwise create, relegating software development to the larger corporations that can manage the legal fights implied by software patent complications. A developer can violate hundreds of patents in the course of an afternoon without realizing it. A year’s worth of research would be required for every week’s worth of productivity, and as the “patent” list grows, the time required for research expands, dramatically.

On the other hand, if one happens to be that “little guy” that just happens to fashion a patent and files it first, they’ve made their fortune if the subject of the patent matters to anyone.

posted by : JV, 16 November 2009 Complain about this comment
Not quite!

I'm not that fond of the idea of software patents myself and find them limiting to development.

I think this article does need to make more of a distinction between copyright and patent. Code is copyright the moment you write it but not patented.

However, I find the argument in this post completely mute. Programs are a combination of math AND logic. Firstly, the pure math and logic have to be converted into code which requires knowledge and skill and a compiler to create platform specific code. If someone were to code in assembly language they are implementing their invention directly onto a particular piece of hardware. Secondly, you could make the argument that any patentable invention is just a combination of logic and practical skill for industrial use, this idea would extend to software.

Ultimately, programs are the designs for the many cogs that we call transistors no a chip. If we were talking about an individual combination of cogs to perform a certain task in real life, this would be patentable, why not programs?

posted by : Alistair, 16 November 2009 Complain about this comment
To all naysayers

"Programs are a combination of math AND logic."

Ouch. Please read the excelent Groklaw post again.

Programming a computer is not changing the computer. It is different from attaching a hook to a car so that it can tow a trailer.
The thing that was later called computer was known to be able to work out - compute - every computable task before it was built.

If you want an analogy, use this:
The whole process of programming is like printing with movable types.
You don't get a patent on your book just because it is printed with movable types now instead of copying it by monks using pen and parchment.

BR

keese

posted by : keese, 16 November 2009 Complain about this comment
I guess none of these fokes have patents

You dont patent software you patent a process. If the process contains a software component then thats part of the patent not the entire patent. You have to think of the software like it was one of the parts in the pantent implementation, not a concept. You cant patent an idea it has to be a real somthing.

posted by : Mark, 16 November 2009 Complain about this comment
PO1R's post is off the point

In the U.S., processes are patentable.

The law (35 USC 100) defines processes this way:

35 U.S.C. 100 Definitions.

When used in this title unless the context otherwise indicates -

(a) The term "invention" means invention or discovery.

(b) The term "process" means process, art, or method, and includes a new use of a known process, machine, manufacture, composition of matter, or material.

So the rambling post on Groklaw is making an irrelevant point, or several irrelevant points. A new use of a known machine is and should be patentable. Whether that new use is achieved by loading new data or new instructions just doesn't matter.

Software is no different than any other area of technological development. Any "reason" for denying software developers patents could be argued by engineers and scientists working in any other area of industry.

posted by : Les, 16 November 2009 Complain about this comment
Bilski didn't hold software unpatentable

The Bilski court specifically stated that the opinion doesn't render software unpatentable -- rather, all processes that are patented must be tied to a particular machine or perform a transformation. The Patent Office's latest guidelines confirm that a general purpose computer constitutes a "particular" machine. Therefore, under current practice, if you invent a novel algorithm, you just have perform it in a computer in the patent claims.

posted by : Anonymous, 17 November 2009 Complain about this comment
@Les && Anonymous

The point is though, that process must be bound to a particular machine.

But software works without.
It may take ages, but it works out completely using pen && paper (*).

The Patent Office Guidelines are off the point. Small wonder there - look up the term Moral Hazard.

And actually - just to mention it - a computer is no particular machine.
It is truly universal.

(*) in real life this property was and is still used to make departments executing business process x - say calculating a pension - redundant.

posted by : keese, 17 November 2009 Complain about this comment
PO1R argues that even tied to a machine software should not be patentable

Moreover, there is no requirement that a process be tied to a machine.

The Bilski court said a process could transform and article or be tied to a machine. Either one of those would make it patentable.

But the actual law doesn't require either of those.

The Supreme Court is reviewing the decision.

posted by : Les, 17 November 2009 Complain about this comment
@Les

So in the US the trouble is that the patent law community doesn't grasp the notion that there is no "a new use" for a computer.

A computer is all about symbols going in, processing of symbols and symbols going out. That was clear before even building a thing that we now call computer.

Yes, your way of processing symbols - you choose to call software - can be pretty and do pretty stuff. But it is still no new use of a computer.

posted by : keese, 17 November 2009 Complain about this comment
Don't be obtuse

A word processor is one use. A spread sheet is another use. Studying the human genome is yet another.

If, new and not obvious, methods of providing each of these would be separately patentable.

Mortar, pestles and reaction vessels are all known. That doesn't mean that a new method of using them to make a drug isn't patentable.

posted by : Les, 17 November 2009 Complain about this comment
@Les

Both of us - and the whole matter in general - are well beyond the point of obtuse anyway;-)

I do stand by my movable type analogy.

posted by : keese, 17 November 2009 Complain about this comment
Cliff Notes

42

posted by : stevepeterson, 18 November 2009 Complain about this comment
Hear Hear!

Software patents are a plague for the industry.
Do do not help but work against new ideas.
As with a patent you describe an invention, and thus everything looks like it can be sued.
Indeed same as with a book.

Let's say somebody patents the idea of an Adventure store, that gives him the only right to it, but in real live there are many adventure stories, all adventures but none of them the same.
patent probit you of writing an adventure story even if your story is radical different.
There for copyright is the tool to be used to protect your work.

posted by : Bas, 18 November 2009 Complain about this comment
Bad laws don't last forever

[Les] If, new and not obvious, methods of providing each of these would be separately patentable.

[In the US,] Not if the monopoly grant abridges the rights of individuals and does not promote the progress of science and useful arts.

I'd love to hear the argument that a broad description of something (the patent claims), which keeps the whole world from using or experimenting with anything that falls under that general description and hence remove as well the incentives (to everyone but trolls) for "improving" such a broadly described invention, somehow doesn't stifle and slow down innovation, at least as these patents add up and start getting enforced so that the "wow" of the patenting system wears away.

If you create great software, good for you. Sell it or share it or do whatever you want. It's illegal to infringe on my rights to also build great software. One of the exceptions possibly being that by infringing on my rights (and on the rights of everyone else on the planet) that this will somehow promote progress.

Remember, every single necessarily broad (and useful) patent removes rights that everyone had prior to that patent. And this presumably can happen for 20 years (a large fraction of each inventors/users productive life). So patent after patent handcuffs all inventors further and further. The better the patent, the stronger the handcuff, even if other very smart inventors find the (broad) invention obvious, have already made the discoveries/inventions in essence, or could within days, weeks, or months.

The necessarily broad patents, very possibly written up by someone that doesn't really have very deep knowledge of the area, prevents those with real knowledge and many years of work from continuing along perhaps some very important path (at least this is the case if the patent vaguely describes an important path). All patent claims are quite vague. It's easy to get the general idea down without knowing the nitty-gritty details and deeper implications and implementation details.

Software and the Internet have enabled virtually everyone to participate and contribute to society as inventors and inventor's aids: to invent things and sell or share them or use them however they want. We aren't talking about billion dollar factories whose control and reconfiguration is inaccessible to most people because of the extremely high price tag to play that game.

Software patent advocates, meanwhile, want to prop up the existing market leaders (who are already protected by copyright monopolies and by the very successful trade secret protections that foil interoperability) by preventing competition from less well funded and smaller competitors and from those collaborating on open source. In short, to prevent real competition from the very many hungry and competent folks lying outside the castle walls.

The only justification they have left is: "but the law says I can because the law says I can get 20 years of exclusive access because I wrote a description for something that (gulp) is new and nonobvious to the majority of laypeople -- I mean, practitioners. So there.

Fortunately the Constitution trumps bad (and illegal) laws.

BTW, software stands out. I don't see anyone ever copy/pasting/editing/manufacturing/redistributing a skyscraper with rocket boosters at virtually $0 and 0 time in the material world. But such is absolutely possible with software.

Software is open to all. Any monopoly on software (if it's over something important) will likely have GARGANTUAN opportunity costs for society.

Remove my rights and incentives (and everyone else's) to develop thoughts so that they can sit on these for 20 years. Yeah, no wonder some with savviness and money support software patents.

The transition from developed thought to implementation is trivial for software. The reason is because of how precise is the math that lies as the foundation of digitalization, where the abstract models and the physical models, for all intents and purposes, work identically.

And still, some with supposed experience in the field (and assumed honesty) state that software inventions are no different than material inventions and/or should not be treated differently.

Wow!

posted by : Jose_X, 18 November 2009 Complain about this comment
35 USC 101

The article and much of the above discussion incorrectly characterizes the subject at hand. I am a 30yr software veteran and a patent agent. Google "Interim Examination ... Evaluating Subject Matter Eligibility" to learn some basics.

As has been pointed out, one can patent a process (method). Currently, a 'test' for 'eligible subject matter' is the machine-or-transformation" test.
Current guidelines at the USPTO state that:

Transformation:
“particularly transform a particular article to a different state or thing.”

“An article can also be electronic data that represents a physical object or substance.”
“Transformation of electronic data has been found when the nature of the data has been changed such that it has a different function or is suitable for a different use.”

Too many software patents have used the 'tied to a machine' clause of the M-or-T test, and the claims use a rather inane concept of 'executing instructions on a computer' or storing the program in a medium (memory) to portend to make the invention eligible. It is these that require some scrutiny, imho.

The debate is much more complex than this article or the comments would suggest. Nor is this directly a debate of whether patents hurt or promote the rate of invention (they certainly can do both).

IMHO, there are some crap software patents wherein the underlying 'method' is undeserving of a patent (its obvious or too broad). On the other hand, some software-implemented-methods are every bit as novel and creative as any other machine.

posted by : bob, 19 November 2009 Complain about this comment
Software patents are too broad

Patents on software are a bad idea because of the abuse.

The persons that created the seven layer network stack were brilliant. It was designed to allow lower layers to be changed with minimal or no changes required at the upper layers.

The abuse starts when some troll gets a patent on a specific combination of layers.

For example, there is no patent on using a program to retrieve e-mail from a remote server using TCP/IP over an ethernet cable but there is one for retrieving the same e-mail from a remote server over a mobile network. Why? The network stack was designed for this exact scenario.

The mobile network may not have existed at the time, but it was envisioned that the lower layers could be changed as new technology became available (10base-T, 10base-2, token ring, 802.11, etc).

Software patents are too broad and try to cover things that are simple (e.g. the one-click patent, blinking cursor).

In the physical world, you can have a simple idea (e.g. garbage can) that can be patented (garbage cans are usually covered by multiple patents) but still made by other companies (look at all the choices of garbage cans) without being sued.

Back in the '80s people connected to networks using modems (e.g. AOL, CompuServ) and it was expensive. You connected, downloaded your e-mail and disconnected.

Now a high percentage of the population is always connected to the Internet via broadband. This changes the possibilities of software.

The old way (mostly due to costs) was to poll the e-mail server (connect, check, disconnect) for new mail - basic principle of the POP e-mail protocol. Now it is possible to have the server push the e-mail to the client without having to constantly poll the server which is more efficient (basic principle of publish/subscribe).

The second method (push technology) was patented (I think this was part of the Blackberry lawsuit). It is an obvious idea that was probably thought of when the POP protocol was written.

Just because someone patents a particular combination of steps first doesn't mean it is inventive.

Polling for messages and pushing messages to a recipient are both trivial tasks. Especially when that is how it works in the physical world. ("Did I get any mail today?" and "Here's your mail for today"). When it is obvious, it shouldn't be patented.

posted by : James, 19 November 2009 Complain about this comment
Advertisement
Subscribe to the INQ Newsletter
Sign-up for the INQBot weekly newsletter
Click here to sign up Existing user
Advertisement
INQ Poll

Christmas computer sales

Will you be buying a new computer this Christmas?