The following comes from a post on ObjectivismOnline. For more, see the original thread.
The protection of intellectual property requires the ability to create and apply an objective standard. Attempting to enforce intellectual property rights without the existence of an objective criteria or the ability to apply it violates real property rights, regardless of the potential benefits. Furthermore, the existence of patents must be evaluated in a cost-benefit analysis, at least if the purpose of patents is to provide a benefit to the inventor.
There are some costs common to all patents, including software patents, such as the cost of filling and protecting them, the need for patent portfolios to protect oneself against competitors patent portfolios, the disincentive to inventors and investors of violating existing but unknown patents, and the associated research costs, and the mis-incentives created by directing research into patentable areas versus non-patentable ones.
In regard to software, several characteristics distinguish software patents from other technologies. For one, the cycle time of software development is much shorter than for other technologies. By “cycle time” I mean the period during which an innovation is introduced, marketed, matures, and is used to create new innovations. Because software is inherently more malleable than material creations, the cycle time of software innovation is much shorter, in the range of one to six years rather than the 16 granted for a patent. The evidence for this is trivial: just look the the frequency of software releases, and how quickly new features are introduced, adopted, and dropped for the next generation. If the purpose of time limits on a patent is to prevent it from hindering the next generation of technology, than the patent should expire within a single technology cycle, but the short and variable nature of software development makes establishing such periods impossible.
A widely publicized problem is the granting of patents that are too broad, such as the Hyperlink, or the browser plugin. But is this a rare exception or an indication of the something inherent in the nature of software development? I would argue the latter, due to two factors: the inability to establish objective limitations on the applications of a patent, and the inability to establish the “obviousness” of a patent.
Software innovations take the form of “patterns.” A pattern is a method of doing something, one that is usually not limited to any particular baseline technology. It is like the plot of a book or a movie: the same course of actions can be described in many different ways and set in any location or time period. There are many design patterns for performing specific tasks such as sorting lists and organizing shopping carts that are widely recognized as non-patentable algorithms. But where does an algorithm end and a patentable invention begin? It’s impossible establish all the possible variations of a pattern, or how much variation distinguishes one idea from another.
Note that in the case of the BT’s patent of the Hyperlink, the court did not invalidate the patent, but ruled that it does not apply. Nevertheless, it’s not at all obvious from reading patent just where it applies – it certainly seems to me that there are many current technologies where it would apply. At the same time, the term “hypertext” was coined at least five years before BT’s patent, the concept of an “electronic web” in 1971, and the idea of “linking” computers together in 1951(!) – but due to the abstract nature of patterns, I can’t say which idea definitely described the concept of the Hyperlink.