Thu, 18 Nov 2004

Software and Patent Protection

I attended IPRIA's "Innovation and the Patent System: Maximising Australia's Economic Development" on Friday. The consensus by the speakers (particularly expressed by Professor Josh Lerner of the Harvard Business School) was that there was an optimal level of patent protection for a country: enough to provide incentive to innovate, but not enough to see net loss due to suppression of other innovation. This seems perfectly reasonable. However, he stated that he didn't see the difference between software and other fields of endeavour. Similarly, the head of IP Australia, Dr Ian Heath, considered all Richard Stallman's arguments against software patents to be general arguments against patents, and seems to discount them on those grounds. In other words, Dr Heath thought that software does not warrant any special treatment. Clearly, this case has to be made before those in Australian patent circles would consider a reversion to the pre-1990 days where software was considered non-patentable.

Before I begin, I want to make an important point. I am not a lawyer. A lawyer can castrate a man without taking away his right to procreate, and see no problem. Non-lawyers do not see the distinction, or if they do, consider it absurd and weaselly. I am not a lawyer.

Dr Heath, a reasonable and deep-thinking gentleman, is a lawyer. He assured me that algorithms and theories are not patentable, only their application to reach technical outcomes, and indeed, this is true. Consider a simple invention: the steam engine. Theories explain how water will boil, and the volume of steam will be greater than the water, and the pressure can be used to drive a turbine. That's patentable (assuming it were novel), but the underlying physics theory is not: you have to apply them in a real way.

In the software world, we create algorithms to solve a problem, such as drawing a curve on the screen: since 1990 that is patentable because the algorithm is applied by using it to solve that problem. But software is just a new expression of the algorithm; you put it in code, instead of writing it down or keeping it in your head. No one else can get any use out of the algorithm because only solves that problem, and that use is patented.

That a software patent only covers the use of the algorithm to obtain the result (rather than the algorithm itself) is a distinction which I shall ignore as having no practical effect, and consider myself more rational for it.

A Simple Model of the Patent System

Let us begin with axioms that the patent system does two good things and one bad thing, by removing rights and placing them in the hands of the inventor. The good things are:

  1. Encourage inventors to develop their invention, and
  2. Encourage future development and invention by disclosure of inventions

The bad:

  1. Discourage others from developing the invention

As an aside, I use the term "development" here for want of better terminology: invention is getting to the idea, and development is getting to all the way to the marketplace. A policy which increases the amount of invention and doesn't alter the amount of development is useless: it is the end-to-end development which is the desirable outcome.

Both positive and negative effects are real and measurable both in general, and in specific cases. Excellent examples of both sides of patent practice were given during the day.

Development in Software vs. Other Industries

Why does development need encouragement? Because the process of development typically takes significant resources before any income from customers is received: laboratories, staff, equipment, etc. This is the first point at which software and other areas of technology differ: the equipment required to do leading-edge innovation is found in the majority of homes, and costs significantly less than $1000. Economists refer to this as "low barrier to entry", and usually consider it to be a good thing.

But to stop there is to ignore our definition of "distribution": getting the inventions into the hands of consumers. This is where software really differentiates itself from traditionally-patented goods: the distribution can be so cheap as to be effectively zero cost to the producer. To drive this home, consider Open Source development, in particular my own development of the "netfilter" packet filtering software. The price I paid to have around 10 million people obtain and use my software was approximately $100,000 dollars (12 months of development work plus equipment costs, kindly paid for by one user who wanted to use it). It's so low, in fact, that the cost of tracking and metering it would far outweigh the total cost to me.

Massive Existing Incentives

So the case for encouragement is less that it might be for other industries, but even if the capital cost and distribution costs are amazingly low, clearly the cost of skilled labour is an issue. Fortunately, there is already an incentive system in place for software: "infinite duration limited-release copyright".

infinite duration
the term is so long that all software which runs on hardware existing today is still covered by copyright. Again, as a non-lawyer, the effect is what matters.
Software is produced by the authors as source code, which is readable and changeable by humans. This is almost always mangled into binary code which contains only the parts of the software required for operation on a particular class of computers. This binary code is released and protected by copyright, but we software authors get to partially have our cake and eat it too: we retain a monopoly on support by keeping the only version of the code which is easy to fix (the source code). We get both trade secret and copyright, for exactly the same product.
The duplication right, removed from owners of copies of the work and placed solely in the hands of the programmer (or their employer). This occurs without registration or the programmer asking for it, and usually requires a contract to transfer, but can be licensed in a multitude of ways.

It is this copyright incentive system which has fuelled the software industry; although software has generally been covered by patents in the last ten to fifteen years, their use in the marketplace has been limited so far. To those not familiar with the industry, four points illustrate the strength of this incentive system:

  1. William Gates III, Chairman of Microsoft Corporation, is widely regarded as the world's richest man, entirely from his company's software copyright revenue.
  2. There are an estimated 10 million software developers in the world. As previously mentioned, skilled labour is the main requirement for software development: each can be considered as having the equivalent of unfettered access to a fully-furnished, state-of-the-art laboratory in other fields. This dwarfs the research and development resources of other fields such as biotechnology by several orders of magnitude.
  3. It's an oft-quoted statistic that 90% of software developers do not work on "shrink-wrapped" software -- software produced and sold as a commodity, in boxes, where copyright protection provides the rewards incentive. Put another way, about 90% of software development requires no external incentive, but is driven dirctly by the desire to use the software. In-house or bespoke software development is the most common form, where development of software is done for a single specialised application and the copyright is never separated from the single copy of the code which is used. Less common is software developed to accompany a larger, non-copyrighted effort, such as computer hardware.
  4. Free Software and Open Source projects have emerged from those who feel that the use of normal copyright licensing in software is too detrimental to their particular field. In other words, they release software with much looser constraints than copyright would allow, forgoing the copyright incentive; ie. they consider the copyright incentive in software already too strong. This is often a variant on the above theme, where the results of in-house development are released as Open Source because of the minimal cost of doing so, or the potential for external improvements. Such efforts have seen success in a limited but significant number of software areas.

Another Measure of Development Rate

There are plenty of cases (in all fields) where two or more inventors invent the same thing, but only one receives the patent. This is an expected outcome of any "winner takes all" reward system, and implies that the incentive is driving development.

However, in software there are a significant number of cases where independent invention occurs where at least one inventor is not motivated by the patent reward, which implies that the patent incentive is not driving development. Frequently, the violating author was completely unaware of the previous work, having independently invented it (the British Telecom Hyperlink patent, the JPEG patent, the rproxy patents).

This is an inevitable result of the massive number of researchers in software driven by other motives, and is particularly where software developers feel aggrieved against the "patent minefield" in a way that other industry's developers do not. Patents are supposed to protect the inventor against "free riders" who take the final result of the inventors' years of labour without giving due compensation. However, independent invention is so common in software that the result of the patent system is that patent holders are the "free riders" taking the result of others labour withour providing anything in return.

Benefits of Patents Covering Software

With this background, can we say that the first benefit of patents, encouraging development, is working in the software field? In my experience, the only effect on developers seeking patents is that they file more patent applications since software patents became possible. The rewards from copyright and use of software represent much more certain, tangible benefits, and continue to drive development. Patents, when filed, are an afterthought, based solely on work which would have been done anyway.

The benefit of disclosure is similarly muted in software: the common cases of unpatented independent invention indicates both that most discoveries would have been made anyway, and that most people aren't building on the disclosures of previous patented work.

Harms of Patents Covering Software

If the benefits of patent coverage are diminished or non-existent for software, what of the harm? As mentioned previously, although patent coverage for software was legitimised in most countries around ten to fifteen years ago, inertia and other factors have allowed the majority of software developers to ignore them until recently. Their main use was for cross-licensing and revenue between larger companies, not against the majority of small businesses.

However, as in other areas, patent licensing in software has become more aggressive; as an example, Microsoft recently began extracting revenues for their growing bank of software patents. More worrying has been the use of patents and claims of potential patent liability to steer companies away from use of competing (often Open Source) technologies, such as suggested by the leaked memo from Hewlett-Packard[1].

The response to this escalation has been to divert more resources (mainly programming labour) away from development of software to patent issues, searches and establishing validity of claims. It has stopped several economically-important projects and standards entirely (rproxy, Sender-ID).

In addition, it has introduced a risk to releasing a piece of independently-authored software where there previously was none: a software author won't unwittingly violate copyright, and so can be fairly confident in releasing software. Such "risk-free" releases were the starting ground for most software companies. A continued escalation of patent licencing will require a legal consultation prior to release, to ensure no patent violation, creating a barrier to entry many times higher than the own-labour requirement currently existing, and hence reducing innovation significantly.

Open Source Software

Open Source software is software released under more competitive licensing terms than traditional shrink-wrapped "proprietary" software. The incentives in this case are usually driven by the authors' use of the software itself (ie. "We needed to write it anyway"). The introduction of patent coverage offers no incentive to these authors: the monopoly doesn't make the software more useful. In addition, the full-disclosure nature of Open Source software is already far superior at spreading software development techniques than disclosure by patent, which is encumbered by disclosure delays and legalese.

If patents had driven increased research and disclosure within the (non-Open Source) software field, this would be a benefit to Open Source software in the long term, but as argued previously, we have not seen any increase.

The effect of even a "penny-a-copy" patent license is a vast barrier to Open Source software development. Firstly, it is a truism that all non-trivial software unintentionally infringes multiple patents, often hundreds. Secondly because as pointed out previously, the cost of tracking and metering the software would far outweigh the total current cost of the system; both to the main developers who have to identify infringement, and to all the downstream developers and recipients who can no longer simply download, copy and modify.

Open Source developers feel particularly distressed by the entry of patents into their domain. Firstly because they rely on the maxima of creation and distribution efficiencies which software affords, whereas most proprietary software developers do not. Secondly, because their work is open to all, someone seeking to enforce their patent portfolio can search more effectively than proprietary software. Thirdly because, as noted earlier, no disclosures from the patent system are being used in these cases: patent restrictions and licence fees are not payment for something received from the patent holder.

And finally because they see their output as a public good, as summarised by Eben Moglen, Professor of Law and Legal History at Columbia University in the United States:

Free software, of which the operating system kernel called Linux is one very important example among thousands, free software is the single greatest technical reference library on Planet Earth, as of now.

In conclusion, it has been clear to me as an experienced software practitioner that the patentability of software has brought no improvement to the industry. The power of the additional (patent) incentive is far less than for the traditional industries that do not also enjoy copyright protection. The costs of the patent system is magnified in the software field because of the extreme efficiencies available, orders of magnitude above physical industries, and hence the disproportionate height of legal barriers patents introduce. And in both cases, Free and Open Source software represents the worst case: unrewarded by incentives, and unable to bear the costs.

I believe that IP Australia was correct in refusing to grant software patents until 1990. I believe that we failed to realize the consequences of the court decision which overturned this. These consequences have now become clearer, and the time has come for wider policy debate and examination.

[1] ZDNet: HP memo: Microsoft planned open-source patent fight, July 20 2004.

[/IP] permanent link