A software patent is not a special type of patent -- it is simply an ordinary patent that protects software. As a work of authorship, a software algorithm can also be protected under copyright law. Computer software was not eligible for patent protection until the 1980s. The application of patent law to software remains a rapidly developing area of intellectual property law.
The issuance of patents is based on the U.S. Constitution and federal Patent Act. Unlike copyrights, which protect only expressions of ideas, patents protect ideas themselves. A patent grants the patent holder a legal monopoly on the right to manufacture, use, sell, offer for sale or import the patented invention. Software patents are utility patents, generally valid for 20 years from the initial patent application filing date.
Patents only protect creations that perform specific functions, which is why mathematical theorems can't be patented. Software, however, is a cross between a work of authorship and an invention. In its most abstract form, software is simply the string of computer code that makes up its algorithm, thereby resembling a mathematical theorem or a work of authorship. However, software also performs specific functions, just as a patentable invention does. This reality makes software hard to classify for intellectual property purposes.
Supreme Court Rulings
Software could not be patented until the 1981 case of Diamond v. Diehr, in which the U.S. Supreme Court ordered the U.S. Patent and Trademark Office to grant a patent for an invention that included computer software. In the 1990s, a lower federal court permitted software to be patented if it processed "real world" values, such as electrocardiograph signals, rather than abstract numbers. In the 2010 software patent case of Bilski v. Kappos, the U.S. Supreme Court issued a ruling so complex that even some legal scholars criticized it for introducing further confusion about the precise legal standards necessary to determine software patentability.
Drafting Patent Claims
Patent claims are statements in a patent application that define exactly what aspect of an invention the inventor is seeking to protect. These claims are difficult to draft and are usually drafted by a patent lawyer. The ambiguous state of software patent law has created a situation in which the success of a software patent application depends largely on the skill with which patent claims are drafted. A software patent application has a better chance of success, for example, if it characterizes the software as a computer system that executes an algorithm rather than the algorithm itself.