Home     RSSRSS

Tronche's software separability test.

14 July 2006 by Ch. Tronche | Filed under Software patents.

Should this thing full of software be patentable or not ? A test.

I’m in the camp of the disbelievers of software patents, for many reasons developed in this blog. This doesn’t mean I’m against “Intellectual Property”, even if I find the term inappropriate, for example I’m the owner (and a firm believer of the protection) of trade marks.

This doesn’t mean I’m against patents in general either. On the contrary, I buy at least the argument of the protection of the inventor, especially if she hasn’t the ressources or willingness to bring the invention to the market by herself. I also sometimes buy the argument about incentives to innovate. But my experience as a developer and an entrepreneur showed me that these arguments just don’t apply to software. Software is different, but this isn’t the subject of this post. Because software is different, patents aren’t needed to protect the creator, and get you no incentive to innovate. You’re just caught in a maze of spurious patents that make innovating very dangerous. Beyond the question of patents, we’re basically the camp of Freedom of Software Innovation.

I must acknowledge a problem with our position, the Freedom of Software Innovation camp. We say that there are things that can be patented, and we’re happy with it, and software on the other hand, that can’t be patented. So a test is needed to distinguish between what should be patentable and what should not. This test should be as simple and operative as possible, letting as little room as possible for interpretation. This is necessary to get the legal certainty and security which is so much needed: if the criterion is opaque or fuzzy, we’ll go into the legal nightmare that Freedom of Software Innovation partisans are standing against. If you think that software can be patented, you don’t have this problem. Since we’re the one who say a line must be drawn between non-patentable software, and patentable inventions embedding software, it’s fair to say the burden of finding the test should rest on our shoulders.

Thus I’ve examined many and found one, and here it is, so read on. I start with previously proposed tests, and try to explain why they haven’t “caught”.

Forces of nature are only for forceful minds

During the 2005 european campaign around “Computer Implemented Invention”, the criterion of the “use of the forces of nature” was brought. The idea was that, for example, the ABS brake system is really a control-command system with an actuator, and thus is a machine that you should be able to get a patent for, while a mere algorithm shouldn’t be patentable on the pretext it’s running on a computer. However, some activists tried in front of me to explain this test to political representatives. These latters, while being smart people, didn’t grasp the idea. This proves to me that the test isn’t clear enough (while some of these activists think they should explain it further, a waste of time in my view).

Technical effect isn’t technical as such

A criterion present in the European Patent Convention (EPC) is that the invention must have a “technical effect”. The idea here was more or less the same, but again the expression of the criterion doesn’t carry its intending meaning. For example, the European Patent Office has sometimes considered the change of the electric flow in a computer memory to be enough of a technical effect. I consider this an absurd bending of the words, because it’s clear that any computer program as such an effect, while the EPC explicitely excludes “software as such” from patentability.

The golden rule

So we need a new test. Here’s mine: Tronche’s software separability rule.

“If an existing machine can be programmed (without hardware modification) to do what you claim your invention do, this isn’t an invention, and patentability should be rejected.”

In particular, if it’s possible to program an off-the-shelf, general purpose computer to do the same thing, clearly your claimed “invention” isn’t one, it’s just software, and thus excluded from patentability. The patent on the general purpose computer (be it by Zuse / Eckert-Mauchly / Von Neumann) has been exhausted a very long time ago.
If you take the case of the ABS brake system for example, clearly the first one to come with it could get a patent for it under this test: no general purpose computer, whatever program you write for it, will slow down you car if you don’t had the appropriate hardware.

In this context, protection is rather strong: no one can come with another computer-controlled brake, introduce some modifications in the software, and claim having a new invention.

It’s also easy to settle a case with this test. If you think a patent shouldn’t have been granted, just describe how you get the same effect with an existing machine.

This doesn’t preclude you from getting a patent for hardware implementation of a known function, but then you can only claim monopoly on your machine design, not the function (it has been done before). And don’t forget you can protect it has a design (not only a patent).
Next time you see a software patent, apply Tronche’s software separability test, you may get an idea what are your chances to get through the software patent bubble.


One Response to “Tronche's software separability test.”

  1. Frederik Hertzum says:

    Your test still holds some problems — it’s good and will likely be enough for most cases. I propose instead that a different approach can be taken. It is more complex, but I don’t think you can make a good seperation between patentable and non-patentable machines without at least some complexity.

    First of all you have to acknowledge that a program (software) is a machine. it is not all that different from any other machine, except that the reality it exists in is different and thus it plays by different rules.

    Machines that are not software, are hardware and can not be used in hardware. Machines that are not hardware are software and can not be used without hardware.

    Now, to test if a machine is patentable you simple ask if it requires hardware. If it does, then (since it’s software), it’s non-patentable. Any piece of hardware that requires another piece of hardware to do it’s thing is still patentable, because it doesn’t really require hardware to do anything — it just requires hardware to do the one (or more) right thing(s):

    You should note that human minds are machines according to this context, and so anything that can be passed as software should also fit in our mind (since the mind can solve any turing problem it should hold true for any real software) — so it should be enough to be able to solve a given problem in our minds to prove that a machine is not patentable.