Orcmid's Lair |
status privacy contact |
|
Welcome to Orcmid's Lair, the playground for family connections, pastimes, and scholarly vocation -- the collected professional and recreational work of Dennis E. Hamilton
Archives
Atom Feed Associated Blogs Recent Items |
2005-07-29Consigning Software Patents to the Turing Tar Pit
ACM News Service: Software Patents Don’t Compute. There’s an interesting problem in the separation of patentable machines and unpatentable algorithms. The problem is that U.S. Federal courts have found uninteresting machines tied to inventive abstractions as wholly patentable (assuming that the other tests that an invention must pass to receive a patent are satisfied, of course). Although the argument that Ben Klemens put forward might be taken as a basis for eliminating software patents, I am not sure how judges (or, of greater import here, legislators) will take to it. Still, it would be interesting to see what the proponents and significant beneficiaries of software patents would marshal in defense. The heart of Ben Klemens’ July 2005 IEEE Spectrum article is the tag line “No clear boundary between math and software exists.” Mathematics is viewed as tied to scientific principles, and scientific principles are not patentable. This process has been blurred in the case of algorithms because when they are embodied in machines (such as video display cards), the resulting device can constitute an invention. The problem, according to Klemens, is that there is then no longer a meaningful barrier to patenting of abstract algorithms, something that mathematicians understand but jurists and legislators are not compelled to cotton to. The technical heart of the argument against this patenting-of-mathematics slippery slope is to rule that computing machines (that is, machines that perform equivalently to Turing machines) are devices, but their programs are merely states of such devices and should not be patentable. This approach raises for me the sticky problem of there always being some algorithm that such a machine embodies: is the algorithm therefore patented, or is the machine not patentable? Klemens suggests this is not a problem, and chooses the perfect example, the Java Virtual Machine. Although a device that implements the JVM on silicon might be patentable (depending on the usual tests), the abstract algorithm as such should not be. And a software JVM implementation (technically, a simulation having an equivalent abstract algorithm as the silicon JVM) would not be patentable subject matter either way. This reminds me of the distinction that was made, some of the time, by Sperry Univac in claiming royalties for the LZW algorithm when embedded in devices but not when merely implemented in software (e.g., in creating and rendering Compuserve GIF format). Note that Klemens argument would have failed to protect the RSA algorithms from their software-only embodiments too, although special hardware for rapid coding and decoding could qualify as devices and might be recognized as patentable inventions. There are two facets of this argument that fascinate me. First, it would be valuable if the test is actually easy to apply by patent examiners and to resolve in court when a dispute makes it necessary. Actually, it might not require any test, if it is simply understood that any embodiment of any invention entirely in software is not subject to the claims of the patent. Secondly, this relieves a serious problem with software-as-inventions. The distribution mechanism of software, involving simple and widespread copying rather than any distinctive manufacturing process, along with the ability to easily make derivatives, imposes an awful burden on software developers and anyone who adopts the software for their use. And if you see an interesting idea in source code, especially for open-source distributions but also in books and other sources, of course you’ll apply it on your own too. For developers to know when they have or have not intruded on territory protected by a patent claim is completely unreasonable to expect. The fact that programmers adapting software created (and distributed) by others can be entirely ignorant of applicable patent claims (as the original authors may have been as well) is now leaving most software vulnerable to patent infringement claims, once the infringement becomes suspected by the patent holder. It doesn’t help that the patent can be issued some time after the software was written. For example, it is possible to apply the RSA algorithms from the seminal papers in which the mathematics and fundamental methodology are laid out, without any knowledge that a patent, since expired, was issued. It is generally not known which great published ideas have been accompanied by or followed by successful patent applications. Those in the know about patents are likely to be on the watch for notices of patents that may impact their development of software, but this is not remotely close to the ordinary behavior of software developers and their organizations. It is very difficult, as a software developer, on observing a great technique or algorithm or other principle, to resist applying it. The cool stuff calls out for application, and it would be weird to continue to use an older, inefficient or cumbersome approach now that a better one has been seen. The problem is that this is not like copyright, where the idea is not protected. Patents protect inventive ideas, but disclosure of the idea may be everywhere, without any warning of the (future) existence of a patent claim. Around 1965 I was asked to review an idea that was submitted to Sperry Univac. It was for a very clever way to accomplish the critical-path method analysis on machines with memory too small to hold all of the activity data at once and having no external random-access storage or tape drives. The idea was submitted under non-disclosure solely for our evaluation and possible licensing/purchase. I can’t recall what I recommended, nor what came of it. But I can’t forget the idea, which is one of those slap-your-forehead simple things that qualifies as novelty and non-obviousness in my book. Fortunately, I have never been in a situation where I’d be tempted to use it. But that’s the point. Some of the greatest inventions are non-obvious until you’re shown them (the safety pin, the little side-mounted toggle-switch that was used to detect that the output stacker of a card-reader was full, etc.), and then they are brilliantly obvious and have great sticking power. There have been a lot of those in the history of computing, and a great many of them happened before software patents were allowed, thank heavens. There were patents on pushdown stacks in hardware, but not software, and the idea of “inverted indexing” was definitely novel until we “got it,” and now its the ordinary way of handling structures in computers. I don’t know what Pascal and C Language would have been like if there’d been a software patent on base-pointer plus offset access to structured data in memory. And, of course, the subroutine calling and return technique—and the idea of reusing code that way—was an invention. As were garbage collection (several flavors) and memory-allocation algorithms. There’s a very long list. I claim that all of the software-only patenting that is happening now is free-riding on all of those unpatented inventions of software’s colorful history, and it’s a bloody shame. Klemens begins his account by referring to the Amazon.com “one-click” patent. Unfortunately, that doesn’t seem to be a software patent, even though one-click services are implemented by computer systems. So ending the patentability of software does not necessarily end the reign of business-process patents. People who want to replicate a clever feature of a known (or maybe never seen before) eCommerce innovation will still have to be careful. I should also point out that Turing machines don’t work on interactive principles, and the combination of software in a particular kind of interaction (such as a business process) might fail to have patentable software, but that doesn’t mean there isn’t a patentable process and we’ll have to see what happens to sort all that out. Maybe the key take-away here is this. If you have a business model that depends on the patentability of software for survival, perhaps that is a business model for which the patent system really doesn’t owe you a living. {tags: HonorTagAdvocate software patents innovation} Comments: Post a Comment 2005-07-24Merchants of Attention
AttentionTrust.org. Stowe Boyd mentions Apparently the Wikipedia folk are just as puzzled as I am. I joined the chorus recommending that the entry be deleted until there is something of an encyclopedic nature to provide somewhere. There are two signals that I find distrustful of AttentionTrust. First, the anonymity of the site, with no provision of contact information or any identification of the sponsors and the erstwhile executives, is disturbing. (I also note that a reply to the Wikipedia Votes for Deletion discussion was anonymous too.) The first step toward trustworthiness—trusting your audience and willingness to be known—is missing. Secondly, there is an implied (to me) commoditization of attention, as if it is a property right. This brings up the specter of trafficking in attention, and I find that basically weird. Can I rent my attention? How about selling options? Can I bequeath it? Until someone explains what the pledge is really about in terms of the underlying social theory (and metaphysics?), I am not lending my name to it. What do we think we are advocating, manipulating, or establishing here? It strikes me that AttentionTrust is positioning itself against something, but I can’t quite figure out what it is for, nor what sort of ontological commitment accompanies this particular appeal to attention as property. In taking this (defensive?) posture, aren’t we granting too much to those who think our attention is something for them to command, manipulate, shape, and traffic in? In putting the debate in those terms, have we already conceded the battleground? And why are we picking a fight in the first place? Meanwhile, you can find out more about AttentionTrust by googling for the people who are talking about it and to one degree or other “in on it.” There’s more information, however speculatory and hopeful, than is available on the site itself. When someone breaks the code and declares what this is fundamentally about and what it offers us, I will pay more attention. So far, I’m running a trade deficit here and I’m out of loose change at the moment. {updated for tagging: HonorTagPersonal AttentionTrust attention.xml trustworthiness} Comments: Steve Gillmor and Seth Goldstein are the folks behind AttentionTrust, and Steve and other folks are working on the attention.xml nuts and bolts. I agree that the whole idea is real nebulous right now. So far, the explanations have alternated between cryptic and technical, but my favorite version of what it could be is this: Metadata that lets you know who you're paying the most attention to. If you're using a River of News style aggregator, Attention would be built into it, and it would boost the people you read most often (or for the longest amount of time) to the top. The less user-friendly theory involves your metadata getting monetized, but I'm not sure if that's a direction they're headed in. Short version? It's another way to turn your data upside-down and shake some credibility out of it. I imagine it would be built into Technorati's ranking system, meaning that bloggers who 10,000 people paid attention to three years ago might not rank as high as bloggers who 3,000 people paid attention to yesterday. Check out the latest Gillmor Gang podcast, too. Goldstein was on, and there was lots of talk about whether this was going to be a User-centric thing or a Nielsen Ratings System. |
You are navigating Orcmid's Lair. |
template
created 2002-10-28-07:25 -0800 (pst)
by orcmid |