Software patents are so different from circuit patents (really!)

Updated (and again, and even again – below)

It should also be recognized that circuit arrangements are typically designed and fabricated at least in part using one or more computer data files, referred to herein as hardware definition programs, that define the layout of the circuit arrangements on integrated circuit devices. The programs are typically generated in a known manner by a design tool and are subsequently used during manufacturing to create the layout masks that define the circuit arrangements applied to a semiconductor wafer. Typically, the programs are provided in a predefined format using a hardware definition language (HDL) such as VHDL, Verilog, EDIF, etc. Thus, while the invention has and hereinafter will be described in the context of circuit arrangements implemented in fully functioning integrated circuit devices, those skilled in the art will appreciate that circuit arrangements consistent with the invention are capable of being distributed as program products in a variety of forms, and that the invention applies equally regardless of the particular type of computer readable signal bearing media used to actually carry out the distribution. Examples of computer readable signal bearing media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy disks, hard disk drives, CD-ROM’s, and DVD’s, among others, and transmission type media such as digital and analog communications links. (Patent)

The argument that something intrinsic in software makes it less suitable for patents than circuits or chemical processing or any other form of technology has not been made in any coherent way. The entire point of all the mathematics that underlies computer science is that code/data/machine boundaries are conveniences, not fundamentals. One can cite many examples of software patents that seem to be on trivial or well known methods (although many claims of software patent triviality are based on very shallow readings), but that doesn’t make a general case except for reform of the patent process. What is interesting is that some of the anti-software-patent arguments are nearly naked claims that only highly capitalized companies need IP. The fact that a determined and ingenious (and/or lucky) individual or small company can invent new software methods without the blessing of a major investor is often cited as a reason why software patents should not be permitted – not in so many words, but in that sense. The anti-software patent argument, however, like the free software argument, is so cloaked in language that makes it appear to be anti-corporate, that it is easy to be mislead or to mislead onself.

Another update:

Don Marti tries to compare prose and code, not very persuasively in my opinion. Patents protect inventions not the expression of the invention (that’s for copyright). A book about circuit design may well express one or more patentable ideas. If you are going to argue that a circuit design should be patentable, but software methods should not, then you should explain when a circuit design is not a software method. The claim IBM makes above is that their circuit invention can be implemented in software and that distribution of that software should be considered to be practicing the invention they have patented. They are not trying to claim that prose descriptions of the invention come under protection – by patenting you explicitly permit others to describe how your invention works. Instead they are claiming that it is possible to make a software program that uses their method. And from a technical point of view – I don’t see how to refute them. A method for computing may be the same method whether it is implemented on a bread board, an IC, a pattern of bits for an FPGA, or a pattern of bits for a processor.