teresahackett@eircom.net wrote:
As time is short before the Council vote, perhaps IFSO can use the FSF Europe letter, if the content is agreeable? (I would specify at the end of the letter what changes we want the Council to make i.e. approve Parliament amendments no xyz). http://fsfeurope.org/projects/swpat/letter-20040906.en.html
I think a very simple line that's very useful right at this juncture is "patenting code in a device is in no way different from patenting code."
Then you can proceed to all the other points, that this is not just "harmonizing practice," it's explicitly overturning the law, eliminating the exclusion of software.
In fact, I think several things should be stated strongly right at the juncture, that usually people evade. I think now is the right time to register the "you can't patent abstraction" point, so that's in the mix for subsequent legislative discourse -- and what's more, it needs to be stated directly that patenting abstract rules is not to be allowed, *even for newly discovered, breakthrough algorithms* -- just as is the case for scientific laws/theory.
Another thing very important to address is the "how do you distinguish hardware from software?" question. This is important, because the pro-swpat camp is putting this line out in the media, to confuse matters among our natural allies. Following is my common response on this:
This "how do you distinguish hardware and software" line is an analysis that indirectly emphasizes "protection" rather than the fact that patenting abstract instructions given to a generic logic device is an absolute impediment to innovation. This is not to speak of questions regarding freedom and a certain kind of understanding which people have been encouraged to forget of late.
It's not that you can patent hardware, but you can't patent software; it's that you can't patent abstraction. The nature of the medium in which you express your ideas makes no difference. A specific kind of hardware, the generic logic device, has brought about the existence of software, the ability to code such a machine in those terms. The generic logic device provides abstract logical functions that may be directed by sequences of instructions which are themselves inherently abstract. The reason not to patent software is because it's abstract -- it's logic! Whatever level language you use and whatever medium you express it in, it still translates into logic. Code is certainly embodied in all sorts of physical forms, but it is a representation of abstract ideas, just as surely as written mathematical calculations are.
Below is a letter I sent to an American email list, Dave Farber's Interesting People list, when this question arose.
-------- Original Message -------- Subject: Re: Patents -- What is the distinction? Date: Mon, 16 Aug 2004 19:55:32 -0400 From: Seth Johnson seth.johnson@RealMeasures.dyndns.org To: dave@farber.net CC: Ip ip@v2.listbox.com, bts@alum.mit.edu,tom_gray_grc@yahoo.com, patents@aful.org BCC: phm@a2e.de, rms@gnu.org, moglen@columbia.edu
For IP.
You know, Dave, the reason why there's so much talk about software patents right now is because in Europe they are not legal and there is presently very successful opposition being kicked up to efforts to make them legal.
In Europe right now, the EU Commission has been trying to tell the public that they are not trying to allow patents on software "as such," while at the same time trying to pass a Directive making "computer-implemented inventions" patentable.
Incidentally, I'll tell you the reason: it's just because their key performance indicator for "innovation" under their "Lisbon Strategy" for the European Union, includes a simple count of "patents!"
A patent on software in a device is a patent everywhere. This is because software is abstract, and that's what happens when you patent abstraction. Making software in a device patentable, is not in any way different from making software patentable.
It's not just because that's what a patent is, and patents are an unvarnished good. An abstraction is a general rule by its very nature, freely available for anyone's use. A patent is a rule under the law.
In 2000, the European Patent Organization tried to take the provisions out of the European Patent Convention which state, among other things, that computer programs cannot be patented, but they failed. So now the EU Commission and other parties in the European patent establishment bureaucracy are trying to draw deceptive distinctions between "computer-implemented inventions" and "software as such."
They're actually trying to pass a law to accomplish one thing while publicly professing that it's doing the exact opposite (not allowing patents on software "as such" or "setting clear limits on patentability" or "preventing a slide toward US-style software patents" -- all abject nonsense, but exactly what's being said by the proponents of this Directive). Every time opposition kicks up, they add fake qualifying clauses and make public pronouncements saying that the Directive will not allow patents on software "as such."
This "how do you distinguish hardware and software" line is an analysis that indirectly emphasizes "protection" rather than the fact that patenting abstract instructions given to a generic logic device is an absolute impediment to innovation. This is not to speak of questions regarding freedom and a certain kind of understanding which people have been encouraged to forget of late.
It's not that you can patent hardware, but you can't patent software; it's that you can't patent abstraction. The nature of the medium in which you express your ideas makes no difference. A specific kind of hardware, the generic logic device, has brought about the existence of software, the ability to code such a machine in those terms. The generic logic device provides abstract logical functions that may be directed by sequences of instructions which are themselves inherently abstract. The reason not to patent software is because it's abstract -- it's logic! Whatever level language you use and whatever medium you express it in, it still translates into logic. Code is certainly embodied in all sorts of physical forms, but it is a representation of abstract ideas, just as surely as written mathematical calculations are.
Note that right now, in Europe, individual computer users may hold that the presumption of the law is expressly on their side, that they may program their computers without regard for the ridiculous prospect that someone may claim a patent on the logical algorithms that they thereby express.
It's a surprise to me the way this question about distinctions has cropped up on your list, which is generally focused on US policy.
Observe as well that it's the EU Commission and other proponents of software patents in Europe who put the question in terms of misguided distinctions, without specifically taking the pains to address the nature of the subject on its own terms.
The FFII has a lucid page on what's going on: http://swpat.ffii.org/log/intro/index.en.html
The following (by me) puts things very bluntly:
http://kwiki.ffii.org/SwpAbst040814En
Seth
David Farber wrote:
Begin forwarded message:
From: Brian Thomas Sniffen bts@alum.mit.edu Date: August 16, 2004 3:04:18 PM EDT To: dave@farber.net Cc: tom_gray_grc@yahoo.com Subject: Re: [IP] Patents -- What is the distinction?
You're absolutely right that you should be able to patent your machine, including the software inside. What most people complaining about software patents are talking about would not interfere with that -- they (well, we) have a problem with a different type of software patent. As a couple of examples, there was a patent on using the RSA algorithm to secure data. That was fine. There's a patent on use of the LZW algorithm to compress data -- somewhat less fine. There's a patent on using XOR to draw a cursor on a display. That's completely not fine. And there's a patent on remembering a customer so that he can buy things just buy telling you he wants them -- the infamous Amazon "one-click" patent. That's so far from fine it's coarse.
What's the distinction here? Well, there are two. The Amazon patent, and many other very, very bad software patents, are patents on business methods. There's a booming industry in taking any traditional method of commerce, slapping a web interface on it, and patenting it. And this is legal -- now that organization is the only one who can use that technique, for years and years.
The one-click idea is obvious. There were plenty of ways of implementing it, and plenty of people who'd done pieces of it. But now, not only does Amazon have a monopoly on one-click purchases, but on many systems like that or incorporating pieces of it.
These patents on business methods in software are a real, serious problem. And they share a characteristic with the other troublesome software patents: they're obvious.
A patent on use of XOR for drawing a glyph that's supposed to be obvious is right up there with a patent on using a lever to lift heavy things. It's a normal, expected part of building a graphics system. It's so basic that it's definitional: a cursor *is* a quickly-drawn obvious glyph. XOR *is* the maximum contrast operator, and *is* simple to calculate.
Patents like this are scattered throughout the current software development universe. Rederiving LZW is a standard undergraduate information-theory problem. That is, a bunch of undergrads will be given LZ and told to improve it to solve certain problems, and the vast majority of the class will come in the next morning with LZW.
But until it expired very recently, somebody (UNISYS, more or less) has a monopoly on use of that algorithm for compression, granted as a reward for developing something innovative and non-obvious. There are over two hundred similar patents which encumber any reasonable implementation of a computer operating system. It's not possible to build a reasonable software system without infringing on many of these patents. That strongly implies that they're not obvious, and many never were.
What's the solution to this problem? There are several possibilities, none of which are harmful to real innovators:
Reduce the amount of time a patent lasts.
Examine applications much more closely for obviousness and innovation.
Rescind patents when their art matures enough to consider their ideas obvious.
Eliminate business-method-in-software patents. For example, require that the technique be globally novel, not merely novel within the field of software design.
But none of those hit the real core of the problem: software construction is all about abstracting ideas and methods of operation. Code reuse is common and vital. But the industry's still in its nascent stages. Patents on techniques that weren't innovative in 1988 are still restricting what people can build; that became basic, standard technique over a decade ago. The only way to fix that problem is to remove the ability to patent ways of manipulating bits with other bits.
-Brian
David Farber dave@farber.net writes:
From: Tom Gray tom_gray_grc@yahoo.com Date: August 16, 2004 11:01:56 AM EDT To: dave@farber.net, tom_gray_grc@yahoo.com Subject: Software Patents -- What is the distinction?
There have been some recent postings to the IP list about software patents. Frankly I cannot understand the point behind these posts and others that I have seen. I have designed hardware and I have designed software. I cannot see any real difference in the design of each. In fact, in designing a solution to a problem, I am often faced with the choice of developing a custom circuit or of choosing one of many processor/software design architectures. The choice between hardware and software does not depend on anything inherent in either technique but in various aspects, such as cost, space availability etc., that depend on the current technological context.
Sine patents do not protect a design in itself but the combination of a solution and a perceived problem, I cannot see any reason why there should be a distinction between a hardware and a software-based design in this regard.
If I design a piece of hardware that contains a controller which sequences circuit behavior through some custom microcode, should I not be able to patent this design. It is both hardware and software and both neither.
Why should patenting not apply to software-based designs?
Tom Gray