As I read more about software patents, and with what knowledge I've gained working with software, I remain opposed to the idea of software patents in general. My problem, though, is that I have no concept of what the arguments are that support software patents.
Can anyone list any of the more compelling arguments supporting software patents, or any blogs/articles that discuss why they're not bad?
First of all, what is a software patent? Software, per se, is not eligible for patent protection under US patent law. But claiming a method which uses a computer processor is legal. Whats the difference? transformation of a machine... software == bad, software executing a on a processor ==good.
When you see some article that says Country X is not allowing software patents...It is not allowing patents on purely software.
Case for "software" patents-
Why not? If 90 years ago, someone can invent a telecommunications system with hardware, then why can't I do it today with software? If I come up with an "idea" using Twillio's API and it is novel, uesful, and meets the 4 categories of patents - I am entitled to a patent.
However, it should be obvious to everyone that if i'm using Twillio's API, there should be prior art available to my idea. However, if there is not any prior art, then I am entitled to my patent. In other words, my "idea" should be easy to reject because there are obviously tons of prior art/teachings available.
However, if these are granted as patent...Then this is a quality issue argument and not whether software should be legal.
Also, if we can get rid of trolls out of the system, we'd me far better off.
Should math ideas be patentable? Pay up to use a technique used in the proof of the Poincare Conjecture? Make novel mathematics have mysterious 20 year gaps between bursts of new discoveries?
One time I searched for an API that would let you send a unicast UDP message to multiple receivers with just one system call. I just thought why not reduce copying and lower the number of system calls? Nope, passing a N addresses/ports instead of 1 address/port is a patented technique when used in a networking system call. By reading this you've automatically doubled your patent-breach liability.
Patents were meant to spread ideas, but even hearing or reading about one doubles your penalty if a jury doesn't accept your clever work-around and finds you liable.
Software is simply the expression of an idea. No different than art, literature or any other creative medium. Never should have been an issue in the first place. Yes, software can be complicated, even very complicated. A painting by one of the great masters is also "complicated" but that doesn't qualify it to be patented. Copyrights work fine for creative media and they'd work just fine for software also.
Software is an implementation of an abstract process; implementations have a copyright, processes can have a patent. It works this way for every patentable subject matter, not just algorithm patents and similar.
If I design a new process for synthesizing a chemical, I can patent it. The patent does not describe the implementation, only the abstract process. A chemical engineer may design an implementation of that process, which is protected by copyright. Similarly, an algorithm (which is a process) may be patented but there may be several implementations of that algorithm that have a copyright.
There is an unfortunate myth that an implementation of a patented process being protected by copyright is unique to software. It most certainly isn't. In the chemical process patent area it is quite common to license a patent from one party and license a copyright for an implementation from another. In fact, this is generally how all patents work.
Someone mentioned that having one syscall that sends multiple udp messages is patented. That is ridiculous IMO. It meets the guideline you lay out: you can define the abstract process of calling a method of an API then that itself sends out UDP messages. However, it's blatantly obvious to all programmers. But probably not to lawyers. Pretty much all software is blatantly obvious and trivial to implement. Microsoft's patent on long filenames is another example. Software is trivial to implement. Want long filenames? A high school student can do it.
However, with chemistry, it is nontrivial. It is not a matter of writing code that a CPU runs instantaneously. You have to devise a method on paper, try it(sorry, a cpu won't mix chemicals), go back to the drawing board. Vs software, where it's trivial so millions of people have probably already coded what you thought was novel.
That happens often with software: I come up with an imaginative awesome new algorithm, only to learn, it has been done before. that's because I work in a line of work that is trivial. We're glorified code monkeys, and we don't deserve to be awarded patents by any means.
To the people who are going to argue whether software patents (however they may be described, e.g. "transformation by a machine") are good or bad, please do NOT take "hardware patents" or "medical patents" or anything else like that for granted -- patent abuse appears in many other areas, although software is probably the worst offender by far.
Ridiculous patents that I've heard of that have been granted:
1. Lifting a car onto a truck from the side using a forklift, rather than from the front using a pulley.
2. Method for training a cat with a laser pointer.
The 2nd one was granted, but is not enforceable, I think - whereas the first is very lucrative for its owner.
9 comments
[ 821 ms ] story [ 459 ms ] threadCan anyone list any of the more compelling arguments supporting software patents, or any blogs/articles that discuss why they're not bad?
First of all, what is a software patent? Software, per se, is not eligible for patent protection under US patent law. But claiming a method which uses a computer processor is legal. Whats the difference? transformation of a machine... software == bad, software executing a on a processor ==good.
When you see some article that says Country X is not allowing software patents...It is not allowing patents on purely software.
Case for "software" patents-
Why not? If 90 years ago, someone can invent a telecommunications system with hardware, then why can't I do it today with software? If I come up with an "idea" using Twillio's API and it is novel, uesful, and meets the 4 categories of patents - I am entitled to a patent.
However, it should be obvious to everyone that if i'm using Twillio's API, there should be prior art available to my idea. However, if there is not any prior art, then I am entitled to my patent. In other words, my "idea" should be easy to reject because there are obviously tons of prior art/teachings available.
However, if these are granted as patent...Then this is a quality issue argument and not whether software should be legal. Also, if we can get rid of trolls out of the system, we'd me far better off.
One time I searched for an API that would let you send a unicast UDP message to multiple receivers with just one system call. I just thought why not reduce copying and lower the number of system calls? Nope, passing a N addresses/ports instead of 1 address/port is a patented technique when used in a networking system call. By reading this you've automatically doubled your patent-breach liability.
Patents were meant to spread ideas, but even hearing or reading about one doubles your penalty if a jury doesn't accept your clever work-around and finds you liable.
http://groups.csail.mit.edu/mac/classes/6.805/articles/int-p...
If I design a new process for synthesizing a chemical, I can patent it. The patent does not describe the implementation, only the abstract process. A chemical engineer may design an implementation of that process, which is protected by copyright. Similarly, an algorithm (which is a process) may be patented but there may be several implementations of that algorithm that have a copyright.
There is an unfortunate myth that an implementation of a patented process being protected by copyright is unique to software. It most certainly isn't. In the chemical process patent area it is quite common to license a patent from one party and license a copyright for an implementation from another. In fact, this is generally how all patents work.
Someone mentioned that having one syscall that sends multiple udp messages is patented. That is ridiculous IMO. It meets the guideline you lay out: you can define the abstract process of calling a method of an API then that itself sends out UDP messages. However, it's blatantly obvious to all programmers. But probably not to lawyers. Pretty much all software is blatantly obvious and trivial to implement. Microsoft's patent on long filenames is another example. Software is trivial to implement. Want long filenames? A high school student can do it.
However, with chemistry, it is nontrivial. It is not a matter of writing code that a CPU runs instantaneously. You have to devise a method on paper, try it(sorry, a cpu won't mix chemicals), go back to the drawing board. Vs software, where it's trivial so millions of people have probably already coded what you thought was novel.
That happens often with software: I come up with an imaginative awesome new algorithm, only to learn, it has been done before. that's because I work in a line of work that is trivial. We're glorified code monkeys, and we don't deserve to be awarded patents by any means.
Ridiculous patents that I've heard of that have been granted:
1. Lifting a car onto a truck from the side using a forklift, rather than from the front using a pulley.
2. Method for training a cat with a laser pointer.
The 2nd one was granted, but is not enforceable, I think - whereas the first is very lucrative for its owner.