Hacker Newsnew | comments | show | ask | jobs | submit login

Software patents are a policy issue, not a constitutional question. This needs to get fixed in Congress.



I'm not so sure this isn't a constitutional question.

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.

-----


Unfortunately, Eldred v. Ashcroft indicates otherwise. There wasn't even a pretense that retroactively extending copyright length would promote the progress of anything, but the Supreme Court ruled that Congress can do pretty much anything other than making terms literally infinite.

-----


Man, that argument is an uphill battle though.

-----


The Supreme Court does not evaluate the intention of a law. Remember, the very process of judicial review was introduced after the Constitution was written, so the parts of the Constitution where it explains why it is written the way it is are rather clearly not policies.

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.

-----


Any process is arguably a mathematical algorithm. The process by which I sanitize water can be expressed as a mathematical algorithm, where the various components play the role of various mathematical constructs.

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.

-----


>If you read SW patents they're usually pitched as processes over a computer device.

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.

-----


Computers aren't mathematical constructs. They're simply devices, like a water bottle. But what they can compute, at least as best we understand it, is bound by what is computable by mathematical constructs, such as the lambda calculus.

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.

-----


>Computers aren't mathematical constructs.

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.

-----


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.

-----


According to the Flook precedent, the novelty in your invention can't merely be in the algorithm. Too bad the patent system ignores that precedent.

-----


> A patent wouldn't be just the algorithm, but also a writing device and paper.

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.

-----


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.

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.

-----


>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.

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.

-----


They're not making a Constitutional argument here, but suggesting that the courts fix some decades-old precedent that went astray starting with Diamond v. Diehr.

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.

-----


Not true. Diehr did not start the mess. The Diehr opinion said exactly the same thing Flook did. More to come in an essay I'm working on now.

-----


Finished the essay: http://ourdoings.com/ourdoings-startup/2011-07-28

-----


That's a good summary. I admit that putting a "start" on this mess is a bit difficult, because things happened one step at a time.

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.

-----


The Supreme Court's rule against software patents was a matter of statutory interpretation, not constitutional law. And software patents were created by a lower court (the Federal Circuit) in the first place, so it would be perfectly appropriate for a higher court to reverse their error.

I'd love to see Congress fix the problem, but there'd be nothing improper about the courts doing it.

-----


>Software patents are ... not a constitutional question

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?

-----


I take a more practical stance: the courts have the ability to fix the situation quicker.

-----


That's only practical in the short term. The courts already have too much power - there's no reason to give them more.

-----


Congress would appear incapable of any policy to the detriment of the few large software companies that benefit from the existence of software patents. This seems more of a domain for the FTC and Justice Department, due to the implications for anti-competitive behavior facilitated by these types of patents.

-----


You are not allowed to patent math; software is math; hence software is not patentable.

-----


As much as I'd like it to be true, I can't help but find this line of reasoning a bit specious. As Simon Peyton-Jones is fond of pointing out with regards to Haskell's functional purity, a program that is just pure math won't do anything except make your computer heat up. Math doesn't write files, it doesn't draw on a screen, it doesn't send packets across a network.

Am I wrong somewhere in there?

-----


A program is pure math - the fact that a computer takes certain actions on the basis of the math doesn't change that. In a sense, all possible computer programs for a given architecture are implied in that architecture, even if they haven't been written yet - just like all possible novels are implied by the letters of the alphabet, even if they haven't been written yet. Like novels, programs should be copywritable but not patentable.

-----


By that rationale, any physical object that is produced by a specified process is pure math. Ergo, no patents for physical products either. That might be your position, can you clarify?

-----


How could a physical object be pure math? Even if you could completely mathematically specify the process of creating the object, that only means you couldn't patent the specification itself - the object would still be patentable.

-----


"In a sense, all possible computer programs for a given architecture are implied in that architecture, even if they haven't been written yet - just like all possible novels are implied by the letters of the alphabet, even if they haven't been written yet."

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...? :)

-----


There seems to be some confusion here between the thing that is being patented and the description of the thing that is being patented. The fact that the description is written using the alphabet has no bearing on the patentability of the thing itself. No arrangement of letters in the alphabet can be patented - but that doesn't mean that nothing can be patented.

-----


A program is pure math ...

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.

-----


A program is a tangible, physical arrangement of electrons

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 program is a tangible, physical arrangement of electrons, atoms, and/or electromagnetic fields.

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.

-----


No, a computer does that. You can patent a computer, you just can't patent the software it runs. Just as you can patent a CD player but you can't patent the music it plays.

-----


I was sort of surprised at that logic. Aren't mathematical algorithms sort of different than software, especially in the context of what people are patenting? Like take the Angry Birds suit - the patent in question covers something about the way new level purchased, right? There is no one specific algorithm associated with that idea. Obviously, one needs to be implemented to get something working, but that's not what the patent is on. If you want to work on the theoretical level of "software is math", then aren't the patents in question on _classes_ of software, or on the effects of software, more than on the software itself?

-----




Guidelines | FAQ | Support | API | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: