The primary benefit of protecting computer software through the patent system is the strength of protection provided by the patent laws. An owner of a patent may prevent all others from making, using, or selling the patented invention (as explained in more detail in BitLaw's section on patent rights
). In connection with software, an issued patent may prevent others from utilizing a certain algorithm (such as the GIF image compression algorithm) without permission, or may prevent others from creating software programs that perform a function in a certain way.
In contrast, copyright law can only prevent the copying of a particular expression of an idea (see the BitLaw discussion on copyright rights). In connection with computer software, copyright law can be used to prevent the total duplication of a software program, as well as the copying of a portion of software code (both of which are examples of "literal infringement"). In addition, copyright does provide some protection against non-literal infringement, such as the creation of "cloned" software. However, courts have recently been reluctant to interpret copyright protection of computer software in a broad manner. In addition, the basic tenet of copyright law is that copyright will protect only the expression of an idea, and not the idea itself. Consequently, copyright law will not prevent the creation of a competing program that utilizes the same ideas as an existing program.
As a result, software patents can provide much greater protection to software developers than copyright law. The benefits of obtaining patent protection can be extraordinary, as shown by Stac Electronics' $120 million patent infringement award against Microsoft based on a data compression patent. As more developers understand the potential of software patents, more patents are being issued. According to the Software Patent Institute, thousands of "true software patents" are issued every year, covering such areas as business software, expert systems, compiling functions, operating system techniques, and editing functions.
Of course, a patent can only be issued when an invention is new, useful, and nonobvious (see the discussion on patent requirements). In addition, obtaining a patent on computer software can be an expensive process, costing five to ten thousand dollars, or more. The choice of whether to pursue patent protection for a software invention should be made by comparing the value of the program (the potential revenue from its distribution) to the cost of the patent application process and the likelihood of obtaining significant patent protection.
For a discussion on the current state of software patents under the Federal Circuits In re Bilski decision, see the Bitlaw discussion of "Are Software and Business Methods Still Patentable after the Bilski Decision?"