June 11, 2004

New IBM patent may encumber simple utility

Author: Robin 'Roblimo' Miller

United States Patent number 6,748,468, granted June 8, 2004, is for "A Caps Lock notification method, system, mechanism, algorithm, and computer program product." Say what? Haven't I had something like that on my computer for years? Isn't it already part of KDE and other common desktops?Here is the complete patent abstract text:

A Caps Lock notification method, system, mechanism, algorithm, and computer program product. A determination is made as to whether a Caps Lock key of a computer keyboard is in an error state, based on ascertaining whether a first condition has been satisfied. If it is so determined that the Caps Lock key is in an error state, then a signal is generated to communicate to a user at the computer keyboard that the Caps Lock key is in the error state. The signal may be a visual signal, an audible signal, a tactile signal, an auditory signal, or a combination thereof. Satisfaction of a second condition may be used to disable the signal.

IBM is the owner of this patent. The application was filed Oct. 1, 2002. The question about this patent is probably not whether there is prior art, but how much prior art there is. But this patent was granted nevertheless, and under U.S. law it is presumed to be valid until or unless it is successfully challenged.

DOS had a "Caps Lock notification" built in. The Mac OSX login screen has one, as does KDE's, plus there's a KDE panel applet called KeybLED that displays the state of your Caps Lock, Numbers Lock, and Scroll Lock keys. In less than 30 seconds of Google searching I found a mention of KeybLED 0.53 published May 20, 2002, in LinuxToday. Note that this was v. 0.53; there's also a version 0.3 available for download, and the documentation attached to it includes a notice that says, "Program copyright 2001-2002 Aurelien Jarno."

KeybLED was and still licensed under the GPL.

Now we can get into the question of whether IBM's patent is broad enough to cover KeybLED -- or the earlier DOS keyboard indicators. This is where patent attorneys come into play, and chances are that IBM has more patent attorneys and legal budget than KDE developer Aurelien Jarno -- or KDE itself or even Apple, whose login screen CapsLock indicators seem much closer to the IBM patent's intent.

And what about this code snippet?

if (caps_lock_on)
	printf("Your caps lock is on.\n");

Does it violate the patent?

Robert Osfield, founder of OpenSceneGraph Professional Services, had better hope not, especially since he wrote these five lines of code on June 11, 2004 -- as a demonstration of just how ludicrous this particular patent is.

We (heart) IBM

The problem is not IBM. In a world where everything including "TODO" lists in code can be patented, it's probably better seeing a "Caps Lock notification method" patent in IBM's hands than in others we could think of.

The problem is with the U.S. patent system itself. Whether you think the idea of patenting software is good, bad, or indifferent, there is no question that the USPTO is doing such a terrible job of deciding which software patents to grant that it has become a worldwide laughingstock.

Click Here!