In Article I, section 8, the U.S. Constitution:
Congress shall have power . . . To promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries.
Note that Congress is only given this power in order to promote the progress of science and useful arts. If one can effectively argue that software patents have the opposite effect, and in fact hinder the progress of science and useful arts - and I think such an argument can be made - then it seems reasonable that the courts should strike down software patents as unconstitutional.
That said, Title 35 of the United States Code states:
>Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
It is difficult to see how software patents could really fall under this. I don't know of any software patent describing a "process" which is not simply a mathematical algorithm (unpatentable), and they certainly don't describe a machine, manufacture, or composition of matter.
The patent described in Diamond v. Diehr is really not at all what we would today consider a software patent; it's not really similar to the patents on, say, wavelet compression in any sense beyond "there's silicon involved". It was a process of molding synthetic rubber, not pushing bits around.
And therein lies the problem. If you read SW patents they're usually pitched as processes over a computer device. This makes it hard to untangle from any other process that acts over some matter.
With that said maybe we get rid of processes altogether. I'd say get rid of everything except drug patents. But that would require congress to sign off.
The problem is that a computer is itself a mathematical construct. If the patents really wanted to describe a process on a device, they could not use as their "device" a Turing machine, because that is not a physical device in the sense of water sanitization. Whereas water sanitization requires the physical presence of water, a program can exist totally in theory as some bits in Wolfram's 2-state-3-symbol.
That is, unless you believe the mathematical universe hypothesis, but I don't think the Court's job is to decide whether the Universe exists!
I am also not a lawyer, nor formally educated in the field of law. I do know a bit about theoretical CS, though.
But with things such as DNA computers and nanotechnology, could one argue that the universe is a computer? Can everything just be described as a construction of objects in the real world with stimuli applied to it?
To me it just feels like a really slippery slope. Just say "medical drugs" and leave it at that.
A particular computer is not a mathematical construct. The concept of a computer, however, is a mathematical construct; there are no physical characteristics necessary to identify something as a "computer" for the purposes of e.g. arithmetic coding. I could perform arithmetic coding with nothing but a pen and an extremely large amount of paper.
BUT a pen and paper. A patent wouldn't be just the algorithm, but also a writing device and paper.
Everything is a theoretical until you do it in practice. You can't patent a cool 3D rendering algorithm. But you can patent a device that uses it and renders the output to a computer screen. This is how patents are written.
Well, yes, and if the patent says "a writing device and paper" it might be valid, because paper is a specific construct, and the patent obviously does not cover such things as e.g. a piece of cloth.
Why do you use bzip2 and not bzip? Well, because arithmetic coding is covered by a supposedly valid patent. However, bzip can be executed by hand, or on any multitude of devices satisfying the requirements for Turing-completeness. The idea that a patent should preclude the writing of bzip, a purely mathematical construct, is absurd. bzip runs on an abstract device.
You could, for instance, specify a specific processor in the patent, but this is not done. You could not, however, specify a processor architecture, because this is also a mathematical construct, which can be carried out on paper.
Let me give you an example: My uncle knows that a cell phone is a computer. How? Well, I told him, and I'm a researcher. How do I know? Well, originally, some professor told me, and he's a professor. How does he know? Well, he or his colleague studied the literature indicating that an ARM processor is Turing-complete... which, at the end of the day, is a totally mathematical consideration, independent of the physical world except perhaps the brains which analyze it.
>But you can patent a device that uses it and renders the output to a computer screen.
No, because each independent part of this is some prior art. The representation of data on silicon is long since public domain, the display of silicon data on a screen is long since public domain, the x86 architecture and the GPU architecture are mathematical, and the algorithm itself is mathematical, and the combination of these is not itself novel or interesting: it is not even performed except by the end user, who must merely double-click a game icon and shuffle some bits around with a mouse.
Actually I don't think its technically "Turing Complete". it doesn't have unbounded tape. In fact any given ARM processor will have a fixed addressable limit. I can certainly compute a class of things in theory that the ARM processor can't compute. There are real HW considerations that you need make when you deal with an actual physical processor that don't exist in the theoretical model.
And this sidesteps questions of complexity.
But this is similar to a patent on a new wing design. You can say it is simply a mathematical model of airflow and such. But the pudding is the creation, not the mathematical model of the wing.
Obviously -- it is a finite state machine, but this doesn't mean any less that it is a theoretical model.
>But this is similar to a patent on a new wing design. You can say it is simply a mathematical model of airflow and such. But the pudding is the creation, not the mathematical model of the wing.
No -- the wing is a physical object. I can hold a wing in my hand. Conversely, a patent on a wing design does not mean that I cannot use that wing design in a computer simulation of an airfoil. But a patent on bzip does mean, supposedly, that I cannot run bzip on a virtual machine. In other words, the wing design is the point, here: you could patent a specific device for running bzip, but you cannot patent bzip on all computing devices. Which, I suppose, might help to explain my point.
That's well within the Court's powers. They created the mess, so it's not unreasonable for them to fix it. It's not as though Congress passed a law allowing software patents or something.
I think the problem, though, is in how 35 USC 101 (patentable subject matter) got unhinged from 102 & 103 (novelty / non-obviousness). So you could meet the novelty requirements with something that wasn't patentable subject matter at all.
Once the lawyers could pry them apart like that, they could pass 101's requirements by saying the software is running on a computer and pass 102 & 103 requirements by saying that the software is new, even if the hardware in the patent is a normal PC. If they reversed that old decision and said that you can only pass 102 & 103 with something that is patentable subject matter, the scheme would fall apart.
You will note that this is, in effect, exactly what the decision to treat the stuff that isn't patentable subject matter as part of the prior art accomplishes and that Parker v. Flook does precisely that. Meanwhile, with Diamond v. Diehr, they got considered separately and ultimately separated.
I'd love to see Congress fix the problem, but there'd be nothing improper about the courts doing it.
A constitutional argument could be made that software is not covered by the term "useful Arts". In fact, Justice Scalia suggested that the business-method patent in Bilksi might be invalidated on this ground during oral arguments:
> JUSTICE SCALIA: Well, if the government says that the -- that the term on which it hangs its hat is the term "useful arts" and that that meant, originally, and still means manufacturing arts, arts dealing with workmen, with -- you know, inventors, like Lorenzo Jones, not -- not somebody who writes a book on how to win friends and influence people. What is wrong with [the] analysis, that ..."useful arts" ... always was thought to deal with machines and inventions?
Am I wrong somewhere in there?
Surely you realize that all possible patents are implied by the alphabet in precisely the same manner that all possible novels are implied by the existence of the alphabet...? :)
A program is a tangible, physical arrangement of electrons, atoms, and/or electromagnetic fields. Just because it is easily rearranged and difficult to perceive with the naked eye does not make it mathematical or virtual or unreal.
In a sense, all possible computer programs for a given architecture are implied in that architecture, ...
All possible medicines are implied by the rules of chemistry obeyed by a liter of pond scum. Determining which potential medicine does what is a patentable invention.
One could likewise argue that math is a tangible physical arrangement of pencil marks on a page or of neurons in the brain. But the point remains that math is not patentable.
Should someone be able to patent a prime number? Discovering a new large prime number requires effort, skill, lots of compute cycles, etc., but it's not patentable. Discovering an algorithm that has novel properties also requires effort and skill, but it shouldn't be patentable either, because it's math.
All possible medicines are implied by the rules of chemistry
Maybe eventually we'll understand the rules of chemistry and human biology as well as we understand the rules of math, but until that happens the case of medicine is not really comparable to the case of software.
A tangible program is not what's being patented, only the concept of the program, which is not tangible. Concepts are patented, not code. Code gets copyright protection.
Similar to saying, "Hey! I thought of a cure for cancer. I didn't actually come up with a specific one, only the concept of one. If you actually come up with it, it's my property and I'll sue you if you don't recognize that.
This means that there are trivial concepts out there, that if I implement in software, I owe bank to some company. It's pretty fucked up when you think about it.