15 November 2008

Of Lawyers and Software Patents

Regular readers will know that I have a bee in my bonnet about the non-patentability of software, largely because of the fact that software is made up of algorithms, algorithms are maths, and maths is not patentable: QED. So, as you might expect, the following, from a patent attorney, makes me go a funny colour:

Software is not a mathematical equation, nor is it a mathematical language. How anyone who writes software or professes to understand software could argue to the contrary is beyond me. Do people who write software actually think they are sitting down and writing mathematical equations and stringing them together? It is absurd to have such a narrow view of software.

The good news is that I do not intend to rebut this (and the rest of the post) here, because the comments to it, and those on Groklaw discussing it, are so good, and so varied, that it would be superfluous. If you ever come across people who have doubts about the non-patentablility of software, just point them towards those comments.


Anonymous said...

Hi Glyn

As you know, I'm no fan of software patents, but I feel uncomfortable with this line of reasoning.

I understand your argument to be that computer programs are a mathematical algorithm, and mathematical algorithms are not patentable. Fine. But unfortunately, any physical-world process can also be defined as a mathematical algorithm. There are a couple of ways to consider this: the most accessible is to imagine that we are living inside a simulation running on a computer (I have my own theories about that, but I digress...). Any invention/process is therefore happening inside this simulation, and is therefore describable as code. Therefore (using your logic) it is a mathematical algorithm, and therefore cannot be patented. Note that this argument does not require that we *are* living inside a simulation: it is simply a tool to demonstrate that any process or invention can be descibed mathematically. If you can prove that we *cannot* be living in a simulation then I'll concede defeat.

The other mechanism is potentially Godel-numbering, but I'll leave to someone who actually knows what they are talking about to expand on that one.

- Andrew

Glyn Moody said...

Well, speaking as a mathematician, I have to say this doesn't really seem to be a matter of opinion: programs are algorithms, algorithms are maths (Lambda calculus etc. - http://en.wikipedia.org/wiki/Lambda_calculus). Saying that they aren't is a bit like saying pi is 3.0 because the “true” value is too awkward.

Since I am not a lawyer, I don't have any problems with *all* patents being invalidated as a result (as usual, I recommend “Against Intellectual Monopoly” - http://www.dklevine.com/general/intellectual/againstfinal.htm – to show why this isn't a problem for anyone except the monopolists), but to humour those who *are* lawyers, I'd say that they key thing to hold on to is the difference between digital and analogue.

As far as I'm concerned, anything that is digital can, indeed, be turned into a mathematical equation. But until we show that the analogue world *is* a digital – for example, a simulation, as you say - I think there's a fairly clear distinction between it and digital models of it.

That's because I'm afraid I can't agree that “any physical-world process can also be defined as a mathematical algorithm”: there are plenty of very simple physical processes whose equation cannot be written down – the three-body problem (http://en.wikipedia.org/wiki/Three_body_problem), for example. Certainly, we can model it, but all of science shows that these are approximations (eg Newton's formula for gravitational attraction is only an approximation, and doubtless Einstein's is too). So, really, these models are tautologically describing something that can be described. So I don't see patents of physical objects caught by the fact that all software can be reduced to maths.

Anonymous said...

I couldn't agree more that there are plenty of physical world processes whose equation can't be written down. But that doesn't stop them from being simulable (simulatable?). NASA manages to get space probes to Mars with commendable accuracy despite the three body problem (by using approximations, of course, but that doesn't alter my argument).

And if they are simulable, then you've got an algorithm, albeit not the nice clean equation you'd be hoping for, but something a lot messier. But then again, there are lots of messy things in mathematics, like irrational numbers, and sierpinski gaskets.

You can model a 3 (or more) body system on a computer and, and crank down the granularity so that you're dealing in sub-Planck units. At that point, any distinction between digital and analogue disappears, doesn't it?

You can call everything that goes on in a computer 'mathematics' if you wish: I have no problem with that. I just don't see why it suddenly ceases to be mathematics when it relates to the "real world".

Glyn Moody said...

Well, I was just trying to be helpful for those who want to keep patents of some kind. I'm more than happy to concede that there is absolutely no difference between the digital and analogue worlds, and that therefore all patents are really attempts to patent maths, and therefore should be disallowed, because once you start down that route knowledge becomes impossible (patent thickets for mathematical proofs, anyone?)

But let me turn this around: what's your alternative? Do you want to allow maths to be patentable? If not, how are analogue patents possible given your argument about the simulations of the physical world?

Anonymous said...

The alternative is to concentrate on the very powerful economic and ethical arguments which lead to the conclusion that allowing information processing inventions patent eligibility is unjustifiable folly. The software is maths argument has never worked and it never will. It didn't and doesn't persuade politicians or business people and it doesn't even persuade many numerate and scientifically literate folk.

The nonsense Gene Quinn wrote about the nature of software and mathematics and about FOSS was nothing compared to the - mostly implicit - nonsense he wrote about patent system economics and it was entirely irrelevant.

Glyn Moody said...

I agree that there is also a strong economics argument, but don't accept "The software is maths argument has never worked and it never will. It didn't and doesn't persuade politicians or business people and it doesn't even persuade many numerate and scientifically literate folk."

It may not persuade politicians or business people, but that's probably because they are not mathematicians. I don't know of any "numerate and scientifically literate folk" that don't accept it - if you have links, I'd be interested in reading their reasoning.

On the other hand, there is Don Knuth, widely accepted as god of computer programming theory, who certainly *does* accept the argument:


Anonymous said...

I'm not a fan of patents in general, and I agree that software patents are probably their nadir. You're right - between us we seem to have argued for the abolition of patents in general.

Until someone provides me with concrete evidence that patents maximise creativity and inventiveness (which attribute is tied in closely with their economic effect) then I'm broadly for abolition in general, but more vehemently in relation to some areas (such as software patents) than others (such as pharma).

Thanks for the stimulating debate, by the way.

Glyn Moody said...

Thank *you* for starting it.

Now, if we can just persuade all the other intelligent lawyers out there....

Anonymous said...

I wasn't referring to the largely irrelevant failure of the “software is maths” argument to work in convincing people that all software can be regarded as maths, Glyn. (Although it does fail and has failed even at that - especially with those who have adhered to the UKPO's “SRI”, the EPO's “CII” etc. distinctions - and plenty of CS professors and maths graduates have done a rather better job of arguing from Gene Quinn's position in the past but I don't have an example to hand just now). I was referring to its highly relevant failure to work in convincing people (especially MEPS etc.) that software should be excluded as far as possible from patent eligibility, and I think doing that is what we really want our arguments to achieve.

I feel exactly as you do about software and algorithm patents but I've been over this ground a thousand times since pre-CII Directive and I've found the “software is/is not maths” arguments to be interminable, pointless and ineffective. They are certainly almost entirely irrelevant to the political and economic debate as it stands today and since they don't work but can easily be replaced by ones which do, I think they are a dangerous distraction.

The economic (and ethical) arguments aren't just strong, they're overwhelmingly strong and they are effective. They trounce all the nonsense patent attorneys like Mr. Quinn come out with and, more importantly, they trounce all the fallacy and plausible nonsense more sophisticated swpat proponents come out with. They are the only arguments that really matter because they are the only arguments that work and work well. That is why the FFII wielded them, why they/we (sort of) won the CII Directive battle, and quite possibly it is why there have been encouraging signs in UK Court decisions, at the UKIPO and even in the actions and words of the new President of the EPO.

Glyn Moody said...

Well, I'm certainly happy to second arguments patents on the grounds of economics and ethics, but I'm afraid as someone who became a mathematician at the age of eight and has been one ever since (although no longer practising) I reserve the right to try to convince the entire world that software is just maths....