Patents provide intellectual property protection for algorithms and business processes. Many questions about patents are beyond the ability of a programmer to properly answer and are off-topic for the site. AskPatents.SE should be considered after reviewing their site guidelines.
A patent is a government granted monopoly for a particular, non-obvious method, design, or algorithm and is granted for a period of time. The specifics of the patents vary from country to country. What is patentable, especially within the realm of software, is often a matter of contentious debate and varies by jurisdiction.
Patents are the third part of intellectual property protection (the others being copyright and trademark) which protects a particular design in exchange for publishing how it is done (as opposed to keeping it a trade secret).
An example demonstrating the distinctions between the three parts of IP law:
- The 'how to play' of board and card games may be protected by a patent such as with Magic the Gathering: (5,662,332)
- The game's artwork is protected by copyright
- The game's name is protected by trademark
Likewise with a software program, the algorithm may be protected by a patent (LZW: 4,464,650), the specific implementation is protected by copyright, and the name of the project may be protected by trademark.
Patents may also be used to refer to a design patent which protects the ornamental (non-functional) design of a product to prevent copy-cat designs that may confuse the consumer about the creator of a product. Examples of design patents include Coca-cola bottle (D48,160) and the Apple electronic device (D593,087).
In most cases, the specifics of the patent process are beyond the familiarity of programmers and should be looked at by people trained in intellectual property law.
See also:
- Stack Exchange: AskPatents
- Wikipedia: Patent
- Wikipedia: Design patent