Software Patents

Why are we teaching you about patents in a computer science class? Because there has been a lot of controversy about software patents.

  1. Discuss this issue in small groups. Information is given below to help start your discussion. Try to develop three lists of ideas:
    1. Arguments in favor of software patents.
    2. Arguments for abolishing software patents.
    3. Ways that the software patent process could be changed to keep its benefits while avoiding the problems listed below.

In the US, software was generally not patentable until a 1981 Supreme Court decision. Patent law still makes no reference to software; it uses words such as "mechanism" and "transformation" (of the stuff operated on by the machine), and specifically excludes "mathematical algorithms" from patentability. But since computers started taking over the world in the 1980s, most useful invention has taken the form of software. The inventiveness may not even involve solving a hard problem in algorithm design, but just be a new way to use otherwise straightforward computational tools (a related idea is the "business method patent" on a way of running a business using existing technology). The standard example of solving a hard problem is Google; there were search engines before Google, but they weren't very good at pulling the link you really wanted to the top of the results list. Google founders Page and Brin invented a truly original, non-obvious way to rank search results in terms of relevance to the search query, and they patented the PageRank algorithm.

Why are software patents different?

People in favor of software patents argue that software isn't different, that inventors of software need to be rewarded for their work for the same reasons as inventors of machines.

People opposed to software patents raise several arguments:

  1. Here are some more articles you might read. Do a web search for "software patents" to find out lots more.