
Patent is designed to protect the technological application of an idea in a machine or process that is novel, nonobvious and useful compared to prior discoveries (known as prior art) that are either patented, in the public domain or are widely known. Patent is granted in exchange for full disclosure of what the inventor considers the best way of implementing or practicing the invention. A person of ordinary skill should be able to make and use the invention, based on the patent application. Until recently, patent protection for software-related inventions was not generally available. Since 1981, however, patents for software-related inventions are being granted for certain algorithms, spreadsheet programs, etc. There are problems, though, with the patent-ability of software. One is the lack of "prior art" with which patent examiners can evaluate patent applications. Another problem is the lack of special classifications for software-related inventions. This makes it especially difficult for legal precedents to be applied. Finally, there is a long time lag between patent application and issuance. Software life cycles are comparatively short. Software patent protection is becoming more common, but it should be remembered that the patent protects the technological application of an idea, not the expression of the idea. This is an important distinction, especially related to the question of user interface design.
See also Trade Secret Protection, Copyrights