Software patents have a chequered history. Ric Parkin looks at some of the problems.
Anyone who has followed the technical news over the last decade or so will have surely have thought that the whole area of software patents is fraught with difficulty, and has led to some cases of sheer absurdity. But is it just me or have things become worse in the last year or so, with news of lots of legal spats over supposed patent infringing?
Disclaimer: as with any legal issues, this whole area is a minefield and should be treated with extreme caution. I’ve checked things as well as I can but there are bound to be mistakes, misinterpretations, and subjective opinions. If you want proper advice, be prepared to pay for an expert!
What is a patent?
It consists of a set of exclusive rights granted by a sovereign state to an inventor or their assignee for a limited period of time in exchange for the public disclosure of an invention. [ Patent ]
Let’s examine the important parts
-
exclusive rights
Exclusivity is important – no one else will have these rights. What these rights are will vary between jurisdictions, but the basic idea will be that no one else can use the invention without your permission. -
granted by a sovereign state
This is really so that there is some legal framework. In particular, this means the legal system will back you up if someone steals your idea or violates some of the rights granted. Note though that this is limited to a particular legal framework – unless there’s agreement between different systems, there may well be places that do not recognise these rights. -
an inventor or their assignee
You can keep these right to yourself, or transfer them, perhaps by licensing or selling outright. Who the ‘inventor’ is depends – I expect that in the software industry most employment contracts will have a section saying that anything you invent belongs to the company. Some even try to include anything you do outside of your work, although I’m not sure how enforceable that is. There is some variation about who the ‘inventor’ can actually be – some jurisdictions say that whoever had the idea first is entitled to the patent, which is why it is a good idea to document your engineering ideas as much as possible, so it can be used to back up a claim. However, others go with the first person to apply for the patent, which could in fact lead to an unpatented idea being patented later by someone else, resulting in the original inventor infringing the patent! -
limited time
These rights are yours, but it is not open ended. What is a suitable timescale is debatable, however. -
in exchange for the public disclosure
This is the quid pro quo for the granting of the rights – once you’ve reaped your reward from your idea, it is in the public domain and can now be used by anyone. -
of an invention
You have to invent something. So it has to be new and never done before, right? Unfortunately this seems to be the most awkward area. Some definitions use phrases like ‘novel’, ‘non-obvious’ or ‘inventive’ to define an invention worthy of such rights. There are also other ideas, such as checking against ‘prior art’, which roughly means if an idea can be shown to have existed before, and is perhaps widely used already, then you cannot patent it. There’s also variation in how rigorously these checks are performed – some places do a proper search for pre-existing patents and prior art, others do much less and assume a legal challenge will be made if there’s a dispute. There’s also the subtle issue of whether the subject matter is patentable – many restrict it to a physical implementation and exclude abstract ideas, algorithms, and software. But this varies wildly, and is still in flux [ SubjectMatter ].
So why do patents exist? What purpose do they serve?
From the point of view of the inventor the important thing is that they provide guaranteed ownership rights backed by the relevant legal framework. This gives an incentive to actually try and invent things as you can exclusively use your idea how you like – manufacture and sell it, or license the right to do so, or just give it away – with the protection that others can’t steal it. It also encourages you to tell people about it and get it used as widely used as possible – perhaps in return for a fee each time – rather than try and keep it secret so that only you can use it.
From the point of view of the wider society, it encourages people to invent so you get more innovation. But also it encourages a faster and more open spread of good ideas, especially if the inventor is not themselves in a position to use their idea directly. And once the exclusivity expires, the invention is now available for other to exploit, driving down the cost of using it or allowing further uses and refinements.
To illustrate these aspects, consider the Chamberlen family of surgeons. [ Chamberlen ]. Around 1634 or so, they invented the forceps, and successfully used them to assist in difficult childbirths. Rather than disseminate this discovery so it could be widely used, they kept it a carefully guarded secret (to the extent that the mother would be blindfolded) for approximately 150 years! While this allowed them to have exclusive use of a lucrative invention, many more people’s lives could have been saved if it had been more widely used. Lacking the protection of their idea, it made sense to keep it secret. If they’d had a patent, it could have been licensed, manufactured and used widely, and they’d have still profited from their idea.
Contrast this with the current system of drug patents. It is extremely expensive to develop a new drug, mainly due to the huge effort involved in research and testing, especially when you take into account the amortized cost of the ones that fail. By allowing an exclusive patent for a period that money can be recouped. And once the patent has expired, generic copies can be made by others that drives the price down and spreads usage, especially in poorer parts of the world. This isn’t perfect by a long shot though – for example this gives incentives to develop drugs for diseases that are relevant to the richer countries that can pay, rather than develop cheap fixes for poorer countries where there would be less profit. But despite such flaws the basic idea of the patent does seem to work to at least some degree.
Software patents
So how do these ideas map work in the world of software? The main issue is that people are still deciding what size is a suitable unit to be patented, or even if it should be. One problem is what is actually patented? The old restriction to the physical implementation doesn’t work, and even defining a software implementation is difficult. Many software patents go for patenting an algorithm, often for a particular purpose. This can be very controversial though. It seems reasonable to me to be able to patent a complex, truly novel algorithm with useful non-trivial applications. Two examples quickly come to mind: complex encryption algorithms [ RSA ], and Penrose Tiles [ Penrose ]. (This last is actually quite controversial if you’re a Platonist, but you can argue that the possible applications are indeed patentable.)
Poor examples abound however. There’s the notorious patent of using
XOR
to add and remove a screen cursor [
XOR
], but while researching I found one that is quite frankly amazing. I’ll quote the entire abstract:
A computerized list is provided with auxiliary pointers for traversing the list in different sequences. One or more auxiliary pointers enable a fast, sequential traversal of the list with a minimum of computational time. Such lists may be used in any application where lists may be reordered for various purposes.
Sound familiar? The simplest implementation I can think of that this patent covers is
std::list
.
I hope the claimant submitted this either to show how bad the system is, or perhaps as a ‘White Knight’ to prevent anyone else getting the patent and trying to charge for it. Can you actually believe this was granted in April 2006! [ Wang ]
Unfortunately sorting out this mess can be very expensive. Take for example the JPEG format. [ JPEG ]. Lots of fees were paid, and lots of costly legal cases, and it’s not really clear if anyone actually owned suitable patents.
And we seem to be in a period of particularly many loud and high-profile cases as major companies sue and counter-sue, especially over patents relating to smartphones and tablets. There are many examples, such as [ Groklaw ] and [ Galaxy ], and given the potential market and the spare money these companies have, I can’t see it getting better any time soon.
Release cycles
Some of you might actually wonder what happens to produce an issue of Overload, and what the editor actually does. There are three main parts.
Part 1: getting articles
This is more of a rolling effort, as people submit articles every now and again or ask for feedback on an idea or early draft. As the new submission deadline approaches you get an idea of how much material you have, and perhaps ask around for more articles, or hunt interesting blog entries that can be turned into material. Sometimes a few emails to chase up promises are needed. I add all articles to a GoogleDocs spreadsheet (so I can update it from anywhere), tracking its status and any actions I need to do.
Part 2: reviewing the articles
This tends to happen after the ‘new submission’ deadline has passed. It consists of about three weeks of to-and-froing reading the articles, passing new versions to reviewers, and returning feedback to the authors. Sometimes an article is pretty much ready to be published, perhaps some rewriting is needed (usually to expand on an important point), and occasionally a heavy edit is needed, perhaps to polish up the language of a non-native speaker. Reviewing articles can be a bit of an effort, but the review team can help out here. But most important here is to be prompt in passing feedback and new versions. Finally, at this stage it’s also a good idea to get the author biographies, and check that any graphics are suitable for publication (we print at a quite high DPI and many graphics produced onscreen tend to be a much lower resolution, so we need scalable vector graphics or high resolution bitmaps).
Phase 3: produce the magazine
Once the articles are ready, I zip them all up and send to our production editor. She does the magic of typesetting and laying out everything, and also casts a watchful eye for typos and odd sentences (it’s amazing how many things you overlook because you’ve read an article multiple times, and seeing fresh in a new form can really expose flaws you’d missed). There tends to be a week where I hear little as the bulk of the work happens, and then there’s a flurry of PDFs of the articles to proofread. This involves lots of checking for typos, looking for odd code line-wraps, suggestions for pull-quotes, straplines, and contents descriptions, and checking that everything lines up nicely and looks good. Pete, who came up with the graphic design style of the magazine, also helps with this, and in parallel produces the cover so needs to know which articles are in. While this is going on I also have to write the editorial – I should really start it earlier, but always seem to find ways to put it off! Fortunately the layout is relatively easy. A final proofread of the entire magazine, and it’s off to the printers to be sent to the addresses provided by the membership secretary. A couple of weeks of quiet, and the next cycle starts again.
I’ve been doing this for nearly 4 years now (actually just over if you include an issue as guest editor as a try-out), and am thinking it’s time to start looking for a new editor. It’s good fun, not too much effort if you’re organised and prompt, you get to talk to many big names in the industry, and you get some excellent Kudos and lines for your CV. So if you’re interested or curious for more information, drop me a line.
References
[Chamberlen] http://en.wikipedia.org/wiki/Forceps_in_childbirth#History
[JPEG] http://en.wikipedia.org/wiki/JPEG#Patent_issues
[Galaxy] http://www.bbc.co.uk/news/business-15956275
[Groklaw] http://www.groklaw.net/articlebasic.php?story=2011111122291296
[Patent] http://en.wikipedia.org/wiki/Patent
[Penrose] http://en.wikipedia.org/wiki/Penrose_tiling and US patent 4133152
[RSA] http://www.rsa.com/rsalabs/node.asp?id=2326
[SubjectMatter] http://en.wikipedia.org/wiki/Patentable_subject_matter