Thursday, February 15, 2007

What is Freely Programmable?

For years, I have been fascinated by the classification of automatic data processing equipment. Some of the first issues on which I worked involved pretty high-tech gear that was not technically computers. But, the guts were plenty smart and a good tinkerer could probably have programmed it to play Pong or tic-tac-toe when not being used for its intended purpose.

Think about an ATM machine. I am confident there is no technical reason that would prevent a smart ATM hacker from turning one of those into a video game or word processing station (of course the numbers-only keyboard would be murder to use). I suspect the smokin' hot 486 processors of 1987 are busy running the gas pumps and vending machines of today.

This all comes up because of the Federal Circuit's decision in Optrex America, Inc. v. U.S. At issue in Optrex was the classification of a number of LCD display modules and incomplete LCD assemblies. The importer wanted them classified in 8473 as parts of ADP machines, which would make them duty free. Customs, on the other hand, wanted them classified as either signaling devices of 8537 or other LCD's of 9013.

To be classifiable in 8473, the parts must be "suitable for use solely or principally with" ADP machines. Based on the CAFC opinion, it seems that Optrex failed the solely or principally part. It appears that these products were fully capable of use in coffee makers, photocopiers, or any one of the million other places we see LCDs these days. But, the analysis the court provides is somewhat more nuanced (that is the difference between the judiciary and a random blogger).

The Court noted that ADP machines are defined as:

Digital machines, capable of (1) storing the processing program or programs and at least the data immediately necessary for execution of the program; (2) being freely programmed in accordance with the requirements of the user; (3) performing arithmetical computations specified by the user; and (4) executing, without human intervention, a processing program which requires them to modify their execution, by logical decision during the processing run.

I was a computer science guy in college (although my degree is in political science). And, I continue to be sort of a geek--that explains my Star Wars oral argument. I fully understand that the definition above is trying to get a general purpose computer. But this gets back to the question of when is something "freely programmable" and who the user is supposed to be.

Assume that there is, in fact, an Intel 486 processor inside a gas pump. There is no question whatsoever that the processor is part of a general purpose ADP machine. The 486 is the heart and sole of a freely programmable computer. The problem is that it has been encased in a gas pump and cut off from all other possible applications. My old 486 Gateway ran WordPerfect 4.2 for DOS just fine. When I was bored with that, I could play a reasonable facsimile of Pac-Man on the same computer. Nothing about the processor in the gas pump changes that. It remains freely programmable.

The Federal Circuit, however, disagreed with this approach. Rather, it interpreted "user" to be the end user. That is the person who drives up to get gas. The Court said the "user" is not the gas pump manufacturer who might, in theory, be able to program it to do something else.

Thus, all the smart ATM machines, computer controlled factory equipment, digital video recorders, and MP3 players of the world are excluded from being classified as ADP machines, no mater how much processing power they pack. The fact that my Samsung MP3 player probably has more computing power than the Apollo command module and lunar lander combined, is not enough to make them freely programmable.

This is where Optrex got tripped up. Even though some of its product did actually end up on file server computers, which are freely programmable, the vast majority ended up on other dedicated devices. Thus, the LCDs failed the solely or principally part of the test.

Which brings me to my Treo smartphone. By the way, David Pogue is right; it is a terrific device. The Treo can run all sorts of programs. One minute it is a web browser, the next I am editing documents. Later, I can use it to play solitaire. Turns out that is freely programmable enough to be a computer. Customs said so, at least indirectly, in this ruling holding that a Treo stylus is an accessory to an ADP machine.

No comments: