Freedom from Fear: Patents and programming

Written by Harald Alvestrand for the A2K meeting in New York, June 13-14 2005
His personal opinion.
Last updated: June 11, 2005

The patent system was invented to encourage invention and creativity, by making a bargain between the inventor and society: "you tell us what you invented, and we give you an exclusive right to grant licenses to practice it for a while". This was intended to let an inventor benefit from his invention, while allowing other people access to the information on how it was done - allowing others to apply this knowledge in other fields, thus stimulating invention.

The way the patent system is used today, the collected body of patents poses a significant business risk to anyone operating in any field of technology development; because of the economics of software production and distribution (very low physical investment needed for many inventions, zero or very low copying and distribution costs for "pure" software), this is felt to an extreme degree in the area of software programming.

Patents and products

When one makes a software product, the product will embody certain algorithms, procedures and functonality.

Under the current regime, these elements may or may not be covered by patents. They may also be covered by patent applications, which are not publicly available in the first period after their initial filing, and may be significantly modified by the time they result in the issue of a patent -often multiple years after filing.

The software implementor (whether he is a person, a small company or a large company) has no way of knowing for certain whether or not there are patents that are applicable to his product. Patent searches are not guaranteed to find everything, evaluating all the patents returned for a wide patent search is a significant undertaking, and even if the patent searcher determines that a patent is not applicable, the patent holder might not agree.

The usage of a patent against a product orginally seems to have been one of two possible actions:

In the current world of fast-moving innovation, unclear patents and large patent portofolios, there are, however, multiple other things that can happen between a patent holder and a product maker - depending on what the aims of a patent holder are, and what resources are available to the product maker.

Some instances:

The power that a patent holder achieves in these kinds of transactions is important enough in practice that most companies now spend resources on figuring out whether stuff they think of can concievably be considered a patentable invention - resources that are NOT spent on product development.

Patents and standards making

Standards are, in many ways, just an intermediate step in the cycle of product development.

They describe uniform methods, processes and formats that multiple product makers will implement. If a patent holder manages to find patents that apply to a stanardized technology, the patent holder can then exercise the leverage above over all the implementors - and where communications standards are concerned, there is not even a need to figure out whether or not they use the patented method; the product makers list their standards conformance in their sales literature.

(This can be a serious cash source for popular standards, even at low prices; it's rumoured that the prevalence of USB over Firewire was heavily influenced by Firewire's patent licensing fee of one dollar per port.)

This excessive leverage has led many organizations to make various rules for how participants must treat patents they hold on standards being developed - promising to license them on specific terms such as "royalty free" (W3C), contributing them to a "patent pool" (3GPP) or just disclosing the existence of the patent before standardization is complete (IETF).

This approach has a few limitations:

The scary prospect of finding a patent covering a standard in the hands of an unscrupulous organization has led to this scenario earning its own idiom - the "submarine patent" - conjuring up the image of an invisible, undetectable enemy that will suddenly surface when you least expect it - pointing weapons at you and demanding ransom.

The critical standards - TCP, IP, X.509 certificates, HTTP and so on - will survive despite the fear, and people will invest the necessary resources into investigating the patent claims and calling them bogus, or pressuring the owning companies into licensing them on acceptable terms.

It is the small stuff that falls by the wayside - when someone announces that a patent exists relevant to a standard that is of positive, but limited, value, many developers will just look at it, say "not worth it" and walk away.

This is not good for society.

Patents and the individual Free Software developer

Patents are an issue for all kinds of software makers - whether they make sold software, licensed software, embedded software and free software. But there are a couple of specific aspects that affect the classical free software developer (here used in the sense of an individual who programs outside of a regular organization - a large organization that occasionally gives away software is in a different situation).

All this adds up to a situation where free software people will, as long as they can, avoid thinking about patents - and if patents are asserted against a specific area of technology, they are much more likely to try to get their work done in nonpatented ways than to take out licenses.

The chilling effects of this fear, uncertainty and doubt should not be underestimated.

Fear mitigation strategies

As should be clear from the above, there is indeed reason to fear being caught in a situation where one is deemed to infringe patents. And it should also be clear that the fear is actually a greater cause of harm than the specific instance.

Strategies to lessen the fear include those listed below, ordered by the size of the organization that has to take them - from the individual to the world society.

The actions taken by individuals, organizations, companies or standards groups are limited in that they can make no decision that is binding on a nonparticipant. However, national governments and treaty organizations are not so limited. Among the actions they could take:

All of these methods have been suggested. Few or none of them have actually been enacted in any jurisdiction - and in order to be effective in the current globalized environment, it's possible that the only way to introduce them is to introduce them through a world-wide treaty such as the proposed A2K treaty.

But - if we do nothing, the situation will not improve.