Hacker News new | ask | show | jobs
by akersten 2121 days ago
Short & sweet: Software is just lambda calculus, and the USPTO has already decided math cannot be patented. It is bizarre they would make such a gigantic oversight.

Longer and more pedestrian: Computers are a sandbox that we've created ourselves. Programs are just a set of instructions to tell the computer what to do, and every possible thing a computer can do is already known and limited by the sandbox we have designed. To claim that a certain set of instructions causes the computer to do something more novel than any other is nonsense. It's all just moving bits around.

Down with software patents.

2 comments

I don't entirely agree with that argument. I do agree that 90%+ of all software patents are garbage, but it does take legitimate insight to design something like a better video encoder, for example.

The incompleteness theorem (and a few others) define the boundaries of what a computer can do, but defining the boundary of a space and exploring it's interior are entirely separate endeavours. Some types of computer programs are harder to write than others, and some have more interesting effects than others. It's not unreasonable to use the patent system to reward explorers for finding the interesting parts of that space, just as inventors explore to find interesting parts of the space of all possible mechanisms.

The real problem is that the rules of our patent system are pretty broken for software patents, and the USPTO is terrible at finding and understanding prior art in practice.

Thanks much for your reply. Turing’s application of Godel merely says that there are some calculations a computer can’t do. There are still a finite number of instructions that are unique and would reasonably pass muster under our patent laws. If you’d like to further clarify, I’d love to hear it.

I laid out the issues for the patent system in my other responses, and perhaps you’re right that it’s hard to search and find a series of instructions, aka software, but you should know that software patents are examined entirely the same as other patents.

I haven’t seen an analysis that 90% or some other high percentage of software patents shouldn’t have been allowed. Remember that you can include any description in the specification and abstract, including the whole encyclopedia if you want, but that doesn’t define the invention. The invention is defined by the legal description in the claim language – it’s a boundary for what is actually new, and every single word of it must be found in a product for it to infringe.

The claim is synonymous with the invention in the case law, which is why it’s not recommended to use the word “invention” in the specification, so it’s not used to narrow the claim interpretation in the court’s Markman (claim construction) proceedings during the suit.

Believe me, if someone could do an actual assessment of allowed patents (notably the claims) and show that they never should have been issued, I’d love to see it. As an FYI, from time to time in representing defendants we’re approached by professors etc. who’d like to share prior art and be retained as experts. But aside some from studies here and there which are generally marketing hype ramping off the thought that all software patents are bad, I haven’t seen it.

90% is merely my own estimation of the size of the problem, and it's not really a well-reasoned estimate; I could just as easily have typed 99%.

I think the easiest way to get a number would be to count up all the "on a computer" patents that were issued, divide by the number of software patents in total and there's a nice lower bound.

> There are still a finite number of instructions that are unique and would reasonably pass muster under our patent laws. If you’d like to further clarify, I’d love to hear it.

I would say that there are actually an infinite number of unique programs. Of course the Incompleteness Theorem states that there are an infinite number of true facts which cannot be computed at all, under any system of logical thought, but inconveniently it doesn't tell you which ones. Nor does it say that there are only a finite number of computable things left over. The real problem is that most of these programs are very similar to each other, and most programs are useless.

As a concrete example, imagine the program that converts an MRI's sensor readings into an image that can be displayed on a screen. This is definitely a very useful program, and one that probably embodies many patentable inventions. But now consider the set of all programs which are almost exactly like that program, but have one typo. This is a much larger set of programs than the one program running on the MRI machine, and we haven't even considered the set of programs with two typos yet. The set of all programs then is vast, and it can never be fully enumerated.

Now, whether or not any of the patents embodied in the MRI program are "good" or not is a different question. I'm sure some of them are; the others are just an implementation of an existing idea but "on a computer", or are otherwise not novel, not new inventions, or are too obvious.

Thanks much for your clarification.

Regarding whether there are multiple patents issued on the MRI –

(1) Assuming that the algorithmic steps work properly (i.e., without typos and the like) . . . Please see my explanation about patent claims in other discussions. The claim of a patent puts a box around the uniqueness of an invention. Ideally, it’s supposed to be as broad as possible without being so broad that it’s anticipated or rendered obvious by what is already known (prior art). The patent claim and algorithmic steps are not synonymous. It’s possible that the first step of a claim incorporates hundreds of algorithmic steps, and the second step of the same claim incorporates hundreds of other algorithmic steps. (Those steps would be described in a broad or exact fashion in the specification.)

The way the patent system works, while it’s possible that many patents try to claim the same thing (different patents by different inventors), the patent is supposed to be awarded only to the first one that was filed.

Since today patent applications are published approximately 18 months from their filing publications (and could be prior art), in the U.S. and in most other systems, the system doesn’t really work for filings within that 18-month period. That’s because for the patent application being examined, there’s an 18-month gap of filed applications that can’t be used; and there’s even an exception to this if the prior art application is filed first and later publishes (secret prior art under 35 USC 102(e)).

Technically, the examiner should have access to secret prior art (non-published applications) if they’re published under 102(e), but you can see that there’s no way for the applicant to have known that before their filing.

Plus what happens if the secret prior art that hasn’t published (and isn’t really prior art) issues as a patent after the applicant’s patent issues as a patent? Now you may have two people patenting the same invention, and they may invoke what’s called an interference proceeding before the USPTO, to see who wins.

There’s lots more. But without writing a novel and giving everyone here a headache, let me add that what is prior art is legislated (which means lobbying has a lot to do with it) and not based on logic, and that the America Invents Act (AIA) that was supposed to tame abuses and clean up the system was more of a monkey wrench thrown at the patent machine.

Because of the complexities of a legislated system, there are many instances where the problems you’ve outlined could apply. But I haven’t seen anything other than anecdotal evidence to support there’s a high rate of patents that shouldn’t have been issued. The elephant in the room however is there isn’t an easy way for an examiner to search prior art that’s doesn’t constitute patents.

(2) If Assuming that the algorithmic steps do not work properly (i.e., without typos and the like) . . . Here we have the additional issue that they written description may not support the invention and/or they may not enable the POSITA to make and use the invention. That’s under 35 USC Sec. 112 (a), which pre-AIA was 112, first paragraph.

I’m mindful of Church’s lambda calculus and Turing’s solutions and halting theorem, but it’s not really applicable generally except under Sec. 112 here, and likely not really applicable. We don’t require a complete axiomatic set or proof that every single series of algorithmic steps results in a defined solution of a computer. Applications that broad would likely invalidate the entire patent system – and I’m sure many would love that :)

Also, about the good versus bad issue for the MRI you mention, I defer you to my long response to orangecat2, specifically about novelty under Sec. 102, nonobviousness under 103 and POSITA.

Let me add that we are supposed to handle these matters objectively, and the USPTO was applying a motivation test for combining references; this is a test developed over 50 years by the Federal Circuit and applied by the USPTO, and it was injured by the Supreme Court’s KSR International case. The USPTO is still walking it back as much as they can, so as not to make the examination system so arbitrary.

If you think about it, along comes technology and the Internet age, and now we’re dealing with application of a generic computer program to things that were done manually earlier. (Business method patents are in this lot.)

Many a patent troll has used these kinds of patents against smaller businesses and startups who feel wronged. And there are many on both sides of the issue, but you already know where most technologists stand, and some of the abuses out there are simply not acceptable.

The Supreme Court’s Alice decision tried to resolve at least part of this issue by saying that if something that’s well known, and has been performed manually is now done by a generic computer (i.e., for example a pc using a Windows operating system) running a program, the simple act of using the computer does not make it patentable subject matter.

There’s a lot of truth to this simple statement; the issues is that the Sup Ct is now using subject matter eligibility (under Sec. 101) versus patentability (under Secs. 102, 103) which has lots of bad repercussions for the patent system; not to mention that there’s a lot of dicta (legal prose) that litigators can use as they deem fit, to convince a federal judge who may not have any background in tech, like our dear Sup Ct.

Sorry for the long reply here, but I think a lot of people have the same thoughts, so I’ll elaborate.

It’s not in the individual instructions that there is uniqueness, but instead in the combination of them, that makes the code. By your same argument, every possible thing you could do with the English language has already been done because we’re limited by a finite number of 26 letters or a finite number of about 170,000 words, give or take, and so there’s nothing novel or unique in a new novel -- it’s already in the sandbox.

There are 2 big things going on to get you a patent. 1 – it has to be subject matter than we, as a society, by our laws, deem “patentable subject matter” and 2 – your particular thing, that you say you’ve invented, is both novel and nonobvious (the latter means it wouldn’t have been obvious to combine more than one novelty reference together to come up with your invention).

Think of 1 as the ticket getting you into the show, and 2 as your seat at the show.

The math thing you’re talking about comes from the Supreme Court. For over a hundred years, the Supreme Court has narrowed the meaning of article 1, sec. 8, clause 8 of the constitution (about patents) to exclude mathematics and algorithms as patentable subject matter (item 1), because it’s too important, not because it’s trivial (item 2). They call it “preemption,” meaning giving someone a limited monopoly say over E=MC^2 can preempt an entire field from developing.

That’s very different from it being obvious (item 2), in fact you could say it’s the opposite, which is the argument you’re making in your first paragraph.

But, it turns out that you’re in good company. This particular Supreme Court, the Roberts Court, made the same mistake, namely of mixing patentable subject matter and obviousness in it’s Alice decision, that runs contrary to it’s own case law. It's been harshly criticized in the patent field, though it's unlikely anyone outside our "sandbox" has heard it.

The Alice decision doesn’t really kill business method or software patents, as many have said, but it did weaken them. Much of this is because if you're defending an alleged infringer (and I've represented both plaintiffs and defendants), you will make much hay out of the court's language ("dicta") to win your case.

The other issue we have is with the courts. You see, for several decades, the Supreme Court has punted on patent law, and let its lower appellate court, the Federal Circuit make the calls. The Fed Cir is the appellate court with exclusive jurisdiction over patents, and it’s decisions are way more important than what the USPTO says (in fact the USPTO must follow it).

This particular Supreme Court has woken up and decided to kick the Fed Cir’s butt (reverse it’s decisions). Think of it like parents who’ve placed all of their child raising duties on the oldest sibling. Then one day, after shirking their own duties for years and when the kids are nearly grown, they beat the tar out of the oldest sibling. For years, the Supreme Court has even admitted it doesn't really understand technology or patent law.

And don’t get me wrong. I’m not advocating for software patents, but I do want (1) that our laws be logical and consistent in creation and application, and (2) preferably for a law to be passed by the people versus de facto by the Supreme Court in its application (which is really a construction).