Many people feel there's a patent law crisis underway. The Patent office has been granting patents that either seem obvious, or aren't the sort of thing that should be patented. Some advance that software shouldn't be patentable at all, just as mathematics is not patentable.
I don't go that far, for reasons I will explain. But I have found a common thread in many of the bad patents which could be a litmus test for telling the bad from the good.
Patent law, as we know, requires inventions to be novel and not obvious to one skilled in the art.
But the patent office has taken too liberal a definition of novel. They are granting patents when the problem is novel, and the filer is the first to try to solve it. As such their answer to the new question is novel.
The better patents are ones that solve older problems.
Amazon was one of the earliest internet shopping operations. So of course they were among the first to look hard at the UI for that style of shopping, and thus were first to file an invention called one-click-buy. But one-click-buy was really just an obvious answer to a new problem. The same applies to XOR cursors, browser plug-ins, and streaming audio and video.
Some patents, however, are deserving. I remember seeing CS professors give lectures in the mid-70s about how Huffman coding was provably the be best form of data compression, even after Ziv and Lempel published their paper on their compression algorithms. They took a very old problem and came up with a new answer. Key management in cryptography was a 2000 year old problem, and Diffie, Hellman and Merkle came up with a bold new answer. (As did cryptographers at British intelligence, but I still don't think this makes this obvious.)
While it would not solve every problem, I think if patent examiners asked, "How long has somebody been trying to solve the problem this invention solves?" and held off patents when the problem was novel, or at least applied more scrutiny, we would have a lot less problem with the patent system.
Many people simply say, "we should not allow patenting of software."
This has always bothered me. To me, software and hardware are the same thing, and the rest of the world is slowly realizing that. The virtual world is the real world, and having one law for that done in software and another for that done in hardware is a poor course to take.Some added thoughts...
My main issue here is how to eliminate a class of bad patents being granted recently. The question of the validity of patents in software is a deeper one. I don't dispute that there are problems that result from patents in software, perhaps even more than we've seen from patents based in the physical world, or the biological.
However, I continue to find it inconsistent to regulate the virtual world differently from the physical world. Rather, if you identify a problem in patents in software, it is better to identify a change to the patent system across the board. I don't see anything in a data compression system that makes it more or less worthy of protection than the shape of an airplane or a self-balancing scooter.
However, my main point remains that many of the bad patents (notably the bad software patents) that are causing trouble these days fail my test -- they were not very clever solutions to novel problems, not novel solutions to hard problems.