Sunday, July 17, 2011

If you think my forehead looks awful, check out that brick wall...

I suppose I'm nothing if not stubborn. I'm continuing to struggle along, trying to understand this strange concept of "software patent". If you haven't been paying attention to the world of software patents this summer, you've been missing one of the biggest stories (of the computing industry) of the year. So here we go, with 5 related dispatches from the bleeding edge:

  • Over at TechCrunch, M.G. Siegler deconstructs the strange conclusion of the Nortel patent auction, in which Google placed a massive 900 million dollar bid for the patents, only to be out-bid, successfully, by a coalition led by Microsoft and Apple working together. As Siegler observes, there are many hidden agendas in this bizarre struggle of the giants:

    "It’s not like Android’s free. Android has a patent fee. You do have to license patents," Microsoft CEO Steve Ballmer said last year. What he didn't explicitly say is that you'd have to pay Microsoft and not Google for those patents. Think about this for a second: it's entirely possible that Microsoft is going to end up making more money — perhaps significantly more — from Android than Google will. A year ago, such a statement would have seemed like a joke. But now it’s becoming reality.

  • Debian, the umbrella organization behind many of the largest and most successful Linux distributions, recently issued their Community Distribution Patent Policy FAQ, which is intended to provide guidelines to help software engineers understand what activities may or may not affect patent liability. Amazingly, the guidelines note that just trying to learn about software patents may cause the courts to consider you to be "willfully" infringing:

    U.S. patent law creates disincentives for searching through patents, even though one of the main justifications given for the patent system is that the patent teaches the public how to practice an invention that might otherwise be secret. Willful infringement subjects the infringer to enhanced damages when they are aware of the patent and intend to infringe, and reading patents increases the probability that subsequent infringement will be found to be willful.

  • Since I didn't think the brick wall had had enough abuse from my forehead yet, I spent some time reading parts of the Oracle response to First Office Action in the re-examination of U.S. Patent No. 7,426,720. In one part, the document discusses prior art in the area of "copy-on-write cloning", a basic operating system technique that has been in place since, oh, say, 1971 or so. Yet Oracle claim that these widely published ideas cannot disqualify their patent because the prior references:

    disclose the operation of processes, including user mode kernels, which have no relationship to, nor disclose in any way, "to obtain a representation of at least one class from a source definition provided as object-oriented program code."

    As far as I can tell with my bloodied-forehead inadequate-legal-training mind, Oracle is saying that even though copy-on-write has been a well-known technique for 40 years, since the original descriptions did not describe how to use it with Java class files (which of course weren't even invented until 25 years later), Oracle deserve patent protection for inventing the idea of doing copy-on-write for Java class files.

    This is just completely absurd. The whole idea of computer science, indeed the whole idea of any science whatsoever, is that when there is a basic, general, abstract notion, such as "copy-on-write", subsequent work involves taking that notion and applying it in specific to concrete situations where it may arise. This does not constitute innovation; it constitutes the basic application of human reasoning.

  • James Bessen, a professor at the Boston University School of Law, has recently published the latest in his multi-year effort to understand the software patent field: A Generation of Software Patents. His conclusion is simple and definite:

    Has the patent system adapted to software patents so as to overcome initial problems of too littlebenefit for the software industry and too much litigation? The evidence makes it hard to conclude that these problems have been resolved.


    It is possible, of course, that software patents might be highly beneficial to the various hardware industries that obtain large numbers of software patents. Clearly software patents are privately beneficial in these industries – that is why firms acquire so many of them. However, this does not mean that there are corresponding social benefits. For example, this patenting might be aimed at building large strategic portfolios that facilitate business stealing without increasing the level of innovation. Only further study can tell.

    Nevertheless, if software patents were socially beneficial, this should show up in the evidence from the software industry. In this regard, it is notable that after more than a decade of experience, this economic experiment played out in a highly innovative industry still lacks clear evidence of net benefit.

  • Lastly, in news quite hot-off-the-press, we have news that Apple have won a U.S. International Trade Commission ruling in their patent dispute with HTC. As the Bloomberg article notes, "The ITC is a quasi-judicial arbiter of trade complaints that has become the venue of choice for resolving patent disputes. " In this specific case, Apple's patent (U.S. Patent No. 5,946,647) covers the notion of software which can infer the type of data by looking for pattens in the data. As Apple themselves describe this innovation:

    In particular, this invention recognizes that computer data may contain structures, for example, phone numbers, post-office addresses, and dates, and performs related actions with that data. The '647 patent accomplishes this by identifying the structure, associating candidate actions to the structures, enabling selections of an action, and automatically performing the selected action on the structure. For instance, the system may receive data that includes a phone number, highlight it for a user, and then, in response to a user's interaction with the highlighted text, offer the user the choice of making a phone call to the number.

    It is not just amazing to hear that Apple claim they invented this concept in 1996; it is still more amazing to hear that the U.S. Patent Office agreed that Apple invented this dead-simple concept, granting them a patent on it, and amazing beyond any comprehension that this ITC organization studied the problem again and still felt it was an innovation that needed protection.

    This technique (recognizing data types by patterns in their structure) is decades, maybe hundreds of years old. Personally, I can distinctly remember being educated, in the early 1980's, about how libraries and publishers across the world identified each book in existence using the International Standard Book Number, a system designed in the mid-1960's. The wonderful thing about ISBN's, of course, is that they can be recognized from their structure, and software can then locate those numbers and present them appropriately to the user, providing special operations that the user can then request on them. We built this functionality into the online library catalog in, if I recall correctly, 1982.

    But this is certainly nothing new, either, for postal codes, Social Security Numbers, telephone numbers, and so forth have been recognizable from their structure for many decades, if not more. German postal codes were in use before the second world war, but Germany's postal system and their techniques for identifying and routing mail date back to the early 1800's.

I don't know where this madness is headed, but it seems hard to imagine that it can continue in this form for much longer. Sadly, the Bilski decision, although it rejected much patent madness, left far too much of it still in effect, and I'm dreading that the computing industry still has many more years of this wasteful and worthless thrashing left to go...

No comments:

Post a Comment