|
As a developer, the main problems with software patents are that 1) pretty much any combination of things you're doing could currently be patented by someone else, 2) it's impossible to tell if you're infringing something until you get sued, and 3) things that should be filtered out by the "obviousness" principle aren't, such that you're constantly in danger of stumbling onto a patent just by solving a problem. A patent is a very, very, very sharp tool: it grants someone monopoly rights to that "invention" for 17 years (or 20, if it's international). Anything that most people could come up with inside 2 days, or even 2 weeks, of thinking about a problem shouldn't be patentable; that's ludicrous, and counts as "obvious" in my book. Things that are obvious combinations or extensions of existing inventions aren't supposed to be patentable. So a lot of this software/business patent nonsense would go away if the patent office would apply a more ruthless standard of patent obviousness. Most software patents are things that at least 10% of the engineering population would come up with inside a week of trying to solve the same sort of problem; many of them are the sort of thing that 90% of engineers would come up with inside 4 hours. That doesn't apply to RSA, or to MP3, or to most algorithmic things, but it does apply to things like "method for holding online auction" or "method for allowing purchaser to assemble a shopping cart" or the other ludicrous sorts of things people patent. So I totally agree, RSA should be patentable: it's a non-obvious invention, and if you're using RSA without their permission there's a 100% chance it's because you stole it/reverse engineered it. But most software patents are the sort of thing you accidentally stumble onto in the course of solving the same sets of problems, and patents were never intended to (and should not) preclude other people from solving those same problems. You can't patent the idea of holding an auction in meatspace, but suddenly because it involves software it's patentable? Etc. Most software patents are much closer to business process patents than to mechanical patents. Personally, I'd settle for simple ruthless application of the obviousness principle. The USO PTO granted more than 40,000 software patents last year. If you only included things that were really novel, that a decent engineer wouldn't come up with on their own in a few days or weeks of thinking about a problem, and that you'd have a hard time accidentally infringing, I bet that number would be more like 500. Keep in mind, there are plenty of other things that aren't patentable: story ideas, for example. So yes, you're going to draw an arbitrary line about what's patentable, but that's the job of congress and the patent office: to draw that line in the place it maximizes utility.Remember, there is no natural right to a patent in the US. Congress has the power to determine what's patentable and what's not, and is explicitly directed by the constitution to do so in a way that maximizes progress. The way it's done for software hinders progress right now. |
What makes a patent a bad patent is usually that it's on the idea of what's a good idea to do from a business perspective, and once you've realized that, hey, online auctions are a great idea, the mechanics of writing the code is pretty straightforward, as you say.
I'm not clear how things are de facto in European law, but from reading http://en.wikipedia.org/wiki/T_258/03 it looks like at least some people are on the right track -- you can patent something involving software, but only if you innovation is technical in nature, not a business innovation that involves a lot of technical details to implement.