I just found a great article on software patents. The article as a whole is rather dry, but section 1 speaks volumes.
We can best illustrate some of the problems that software patents cause, through the use of an imaginative scenario written in the style of the well-known computer exploration game "Adventure":
Welcome to Patent Adventure V3.4. - All Rights Reserved 1994.
You are the CEO of AcmeSoft - a fairly successful software company.
You are at your desk. Suddenly the fax machine rumbles...
Command> READ FAX
It's from SharkTech! They're claiming that your company's product "Acme Professional" violates their software patent "Distinguishing Nested Structures by Color". They want 1% of your wholesale price in royalties.
Command> GIVE ROYALTIES
Now they want 5%.
Command> GIVE ROYALTIES
That satisfied them. Hmmm, the fax machine is humming again. It's from ParaTech! They're claiming your company's product "Acme Professional" assigns clients to whichever server process is least busy, and as a result want 3% of your wholesale price in royalties.
Command> IGNORE THEM
ParaTech have decided to take you to court. Do you want to settle for 10%, pay $800,000 in legal fees, or circumvent the patent?
Command> CIRCUMVENT
Your programmers say they can't circumvent the patent without hurting performance --- causing you to lose you 30% of your customer base. Do you want to circumvent?
Command> CIRCUMVENT
You've lost 30% of your customers! The fax machine is going again. This time it's from MeanTech. They're claiming your company's product "Acme Professional" violates their software patent on storing document images on a CD ROM along with an automatically generated index, and because they are a competitor, they do not want a royalty. They want you to remove the violating code or stop shipping the product. What do you wish to do:
COMMAND> GO TO COURT
Legal fees are $600,000. Current funds are $400,000. You've gone broke!
Do you want to play Patent Adventure again?> DEFINITELY NOT
While the above scenario is fictional, it is far closer to the current situation than many in the software industry realize. In reality:
The software patent system is clearly out of control and if not caught soon will change the face of the software industry forever. Two thousand new software patents are granted each year. They are being granted on software technologies as diverse and mundane as file servers and word processors. It is already dangerous to create products containing data compression or public key encryption, and recently major inroads were made in the field of multimedia. Here are some more examples to help give you a feel for the scope of the problem:
These are just a few of hundreds of software patents that pose a critical threat to all software developers, large and small. Many more examples are contained in Appendix C. The fact that these patents all cover trivial ideas is significant, but not the only reason for the difficulties. In this document, we argue that the nature of the software industry makes it an inappropriate subject for the granting of patents.
This is simply unbelievable. Kodak is claiming that Java, which has been around for a decade, infringes a patent that they purchased in 1997. I don't know much about law, but this sure seems to me like a pivotal case as far as precedents are concerned.
That's the disclaimer -- now, here's my two bits' (two cents buys little these days) worth. I don't think the patent system is to blame here, even though it is pretty screwed up. I believe the real villians here are corporations that regard lawsuits as a revenue stream (i.e. SCO), the lawyers who infest corporate legal departments and the courts who seem to believe that one should be able to patent a raw *idea* rather than a concrete invention.
Patents are intended to protect *inventions*. It seems to me that a computer program is a construct -- more like a book or a musical composition in nature than an invention. Books and music use words and notes to produce constructs that inform and entertain. Computer programs use coded commands to produce constructs that perform tasks. Is a computer program _by_itself_ an invention?
It is confusing. Should I be able to patent my method for hand-sorting beans? No. But, if I build a machine to sort the beans, I can patent the machine, right? If I write a set of instructions for bean sorting, I can copyright the document. If my bean-sorting machine is controlled by a computer program, however, is the program part of the invention? This, it seems to me, is the point upon which the lawyers have pounced.