Why? The reason is the strength of protection provided by the patent system. An owner of a patent may prevent all others from making, using, selling, or importing the patented invention in the United States (as explained in more detail in BitLaw's section on patent rights). An issued patent can be used to prevent others from utilizing an inventive aspect of a new software program, or from implementing the distinguishing characteristic of a new website. For instance, Apple has patented the "bounce-back" feature of iOS, in which a list of items stretches beyond the last item and then bounces back when a user comes to the end of the list. Apple has used this patent to its prevent Android competitors from copying this aspect of its user interface. Similarly, Google has numerous patents on its PageRank system, which helped prevent others from copying Google's search algorithm in its early days of competition with Yahoo, Altavista, and Excite.
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.
This means that software patents 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 relating to data compression, or Apple's $1 billion verdict against Samsung. As developers began to understand the potential of software patents, more and more patents were issued being issued, covering such areas as Internet business methods, business software, expert systems, operating system techniques, database technologies, compilers, and even word processing functions.
Of course, a patent can only be issued when an invention is considered statutory subject matter, and the invention is also new, useful, and nonobvious (see the discussion on patent requirements). In addition, obtaining a patent on computer software can be an expensive process, costing eight to twelve 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 likelihood of obtaining significant patent protection and the ability one would have to enforce the patent against potential infringers.
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?"