I recently watched a short video titled "
Patently Absurd". (Thanks to Shawn Merdinger for the pointer.) This 30-minute video discusses the harm caused by software patents and a recent Supreme Court case (
Bilski v. Kappos) which will be decided soon.
The video itself isn't going to win an Oscar. (As video production and acting goes, it ranks up there with Star Wars Episode I, the Phantom Menace.) However, this documentary is about
the message and not the filmography. And the message is clear: the patent system is totally screwed up.
Patent Problems
Patents were initially intended to give credit and protections to someone who develops a novel technical advancement. For example, if you developed a new farm tool that help cut costs and improve harvesting, then you should be rewarded for that good idea. The reward comes in the form of licensing fees for other people to use your idea.
Patentable ideas should be novel and distinct; someone with the same basic knowledge and skill set should not be able to trivially re-develop the same good idea. For example, if a chair with 4 legs exists, then you can't patent another 4-legged chair (not novel or distinct). And expanding to a 5-legged chair is a trivial extension, so it shouldn't be patented either.
Unfortunately, that isn't how patents are being awarded or used. Today, patents are given out to anyone who files a distinct idea. The
novel aspect is no longer a requirement. For example,
patent 6,368,227 is for a way to swing at a playground, and
patent 6,004,596 is for a peanut butter and jelly sandwich. Neither of these are novel or non-trivial. For example, the sandwich one is for making sealed peanut butter and jelly pockets. But...
Pop-Tarts are sealed jelly pockets. So isn't the inclusion of peanut butter a trivial addition?
Today, patents are used to retain a monopoly. I have an idea and I'm going to tell everyone so I can stop them from using my idea. Monopoly, extortion... call it what you want. I was once advised by a patent attorney: don't file a patent on anything you cannot afford to protect. In other words, unless you have enough money to
sue everyone and their cousin for using the idea, it isn't worth filing a patent.
Big companies like HP, IBM, and Microsoft have a whole slew of patents that they use as trading cards -- each company is violating someone else's patents, so they agree to no sue each other. For example, if Nvidia ever decides to sue IBM over some patent claim, IBM will likely pull out 100 IBM patents that Nvidia is violating (with the sheer number of patents, it is hard not to violate something...) and force Nvidia to concede. In the worst case, someone will likely determine that the patents are either too vague or too trivial to be enforced. For example,
Rambus sued Nvidia over some alleged patent infringement. The USPTO decided that
none of the claims were an infringement. Rambus
withdrew some of their allegations, and the rest are still pending.
Patenting Software
There used to be a rule that you could
not patent something found in nature. And math was considered a natural system. Since programs are nothing more than applied math, you couldn't get a software patent.
However, that isn't the case anymore. Anyone can submit a software patent as a "
method" for accomplishing a task. If you have ever used Photoshop then you have seen that startup window that lists dozens of patents that "protect" the software. Photoshop Elements 4.0 lists over 50 patents. (Good luck trying to look them up since you can't cut-and-paste the patent numbers and the "About" window scrolls them off the screen before you can write them down.)
For full disclosure, I have one software patent (7,296,084) and seven others pending at the USPTO (most have been pending for 7 years). However, I don't actually "own" them -- all of the rights were transferred to a corporate entity. (Most companies pay their employees a bounty for patentable ideas. So I was compensated for these.)
Today, software patents are causing a chilling effect. Software developers fear distributing code because they might infringe on some patent written in legalese. And while a patent lawsuit may have no basis, a lone software developer will likely go bankrupt defending himself.
Personally, I don't spend any time looking up patents. My rational:
- If you know about a patent and infringe on it, then you can lose triple damages. So not knowing is cheaper.
- I usually create my own code for complex systems. If I end up recreating someone else's patented system, then it clearly fails the "novel" test since someone else with the same basic knowledge and skill (me) reached the same conclusion.
- If it is complex enough, then it is distinct enough to not infringe.
- Most software patents are vague to the point that you cannot implement a solution based on the patent's information. (Most software patents are almost as bad as academic research papers. They leave out critical steps and details needed to validate or implement the system.) Software patents usually contain very little useful information.
- Most software patents were written by patent attorneys. Their legalese is worse than contract lawyer legalese. Unless you are a patent attorney and technical, you probably won't understand the patent.
Frankly, I'm more concerned with software licensing than patents. (I believe that GPL is evil since it dictates distribution requirements.)
Finally, I don't like how patents require public disclosure. If I don't want someone else to copy my work, then why would I release details of my work publicly? Instead, I use security-by-obscurity, and the knowledge that anyone copying my work will violate copyright laws and constantly be playing catch-up to me. If someone tries to recreate my software, then they will likely be at least two major revisions behind the current development cycle. As long as they play catch-up, I will always be the leader.
In contrast to patents, I am a huge fan of copyright law. And plagiarism should be a death-penalty offense.
AMEN. Preach it!