Patents grant the registrant exclusive rights to the use of a process or means and method for a limited period of time, in exchange for the public disclosure of the registered technology. Mathematical formulas or obvious extensions of the present state of the art cannot be patented, and the maintenance of a patent requires an attempt by the holder of the patent to bring products using that technology to market. Patents tend to be expensive to attain, expensive to maintain, and a large percentage of all patents are eventually overturned in court.
In the case of software, patents are unattainable because they are held to be expressions of mathematical formulas, but in many cases, software inside a computer system which is used in conjunction with peripherals for the novel performance of a process or use as a means and method can be patented as part of another invention by describing the system in an appropriate manner. Strangely, the manner in which the description is made is more important from the standpoint of patent law than the realization, and it is often the case that a realization would be patentable with one description and unpatentable with another description.