A patent is a grant made by a governing body that confers upon the creator of an invention the sole right to make, use, and sell that invention. A software patent is a patent that is designed to cover claims which involve computers, computer networks, or other programmable devices. The invention that the patent covers must be realized by a program or series of programs.
Software Patents

Patent System background

The patent system is designed to "promote the advancement of science" by granting inventors the exclusive right to use their inventions for a limited time, thus ensuring an economic incentive to invent. Traditionally, software was considered to be akin to mathematical functions, which were explicitly declared to be unpatentable. However, the 1981 Supreme Court decision in Diamond v. Diehr reversed conventional wisdom and allowed software patents. This decision was controversial, and provoked considerable debate between its supporters and opponents.

Patent Debate

Software patents are a heated topic of debate in the technology. Due to several mitigating factors, different parties are arguing about the extent that software should be patented, and some parties wish to be rid of software patents completely. Some of the factors that have sparked debate include "obvious" patents, and patent trolls. This had led to calls for widespread patent reform.
Software Patent Debate

Obvious Patents

If someone tried to patent the action of writing on notebook paper with a pencil, the patent application would, in theory, get shot down because many of us consider that action inherently obvious. Some people claim that certain parties are doing the same thing in the software world. Microsoft is trying to patent their IsNot command in Visual Basic, and Friendster has patented a variation on the concept of social networking. Critics of these patents argue that they stunt innovation and development in technology.
Real Software Slams Microsoft's Patent Effort
Friendster Wins Patent

Patent Trolls

Patent Trolls are a derogatory name given to firms and other parties who purchase patents for the sole purpose of suing other people and companies for patent infringement. Patent Trolls are looked down upon in the software industry. Many, many people would agree that patent trolls are the single biggest problem with patents today.
Patent Troll

Patent Reform

A proposed answer to many of these problems with the patent system is patent reform. This has been discussed in congress in the past year, and is still being debated today. Many large companies have called for patent reform, and there have been many different versions of the bill proposed in Congress. Even patent reform has it's critics. Some say that it will only benefit the large cooperations, and the open source community says patent reform doesn't go far enough. Some members of the open source community have an extremist view, and believe that the patent system for software should be abolished altogether.
Microsoft calls for patent reform