The first software patent ever granted is probably a patent for a "computer having slow and quick access storage, when programmed to solve a linear programming problem by an iterative algorithm, the iterative algorithm being such that (...)" applied for in 1962 by British Petroleum Company . The patent relates to solving simultaneous linear equations.
The USPTO has traditionally not considered software to be patentable because by statute patents can only be granted to "processes, machines, articles of manufacture, and compositions of matter". In particular patents cannot be granted to "scientific truths" or "mathematical expressions" of them. This means that most of the fundamental techniques of software engineering have never been patented.
The USPTO maintained this position, that software was in effect a mathematical algorithm, and therefore not patentable into the 1980's. The position of the USPTO was challenged with a landmark 1981 Supreme Court Case, Diamond v. Diehr. The case involved a device that used computer software to ensure the correct timing when heating, or curing, rubber. Although the software was the integral part of the device, it also had other functions that related to real world manipulation. The court then ruled that as a device to mold rubber, it was a patentable object. ...Show more