Had an interesting email exchange today. It started out innocently enough, like any other message from someone looking for answers to how stuff works, one part went:

I need an expert that can explain the operation of the Linux HIDDEV interface, it's functions, methods, and the related kernel code (e.g., hiddev.h, hiddev.c, hid.h, and usb.h). It would be helpful, but not required, if the expert had experience with 2.4.xx kernels as well.

That seemed strange to me. Why would someone who wanted to fix a problem, want to know the whole operation of the thing (unless they were trying to answer some homework questions, and I get lots of emails from people trying to do that...)

But what was really odd, was the signature (name XXXed out to be nice):

Morgan, Lewis & Bockius LLP
101 Park Avenue
New York, NY 10178
eFax: 212.XXX.XXXX

Now how many lawyers do you know that want to write kernel code? Yes, there are a few, but I had to find out more. My response went something like:

Why would you need someone to do this? Also, 2.4 is quite old, and is no longer being shipped by any Linux distributor for new installations.

The response provided no real new hints:

This project is designed to give me a better understanding of the operation of the HIDDEV sub-system, interfaces, and functions without having to spend vast amounts of time evaluating the code myself. It's simpler to have someone with the relevant knowledge 'teach' me about HIDDEV. Also, as a preliminary matter, I would like to confirm my understanding of the HIDDEV interface.

The usage of HIDDEV stood out in my mind. Here was a lawyer asking for specifics about a techincal term, that was not a real term. However, based on the fact that I have read too many different patents in my lifetime, I do know of a number of specific ones, owned by some very non-Linux friendly companies that try to claim a patent some very specific HID implementations (the number 6,311,228 comes to mind...) Perhaps this is why the lawyer was wanting to know the information.

I was also curious about the 2.4 specifics, as no Linux major distro is currently shipping a 2.4 based distro. I pressed on the 2.4 issue and got this response back:

Unfortunately, I am not familiar with the nature of the HIDDEV changes between 2.4 and 2.6. Since you mention that there were a number of changes, the changes themselves would also be within the scope of the project.

However, a good starting point would be a discussion about the operation HIDDEV interface with respect to the 2.4 kernel, and then an expansion to other builds as necessary to encompass these changes.

All along, he had not responded to my query as to why he wanted to know this information. Finally he relented:

Our client has asked that we keep their name confidential. Of course, some details of the underlying project may be confidential as well, and any expert we retain would be subject to a non-disclosure agreement.

So there you have it. A confidential client, wanting to know about a specific part of Linux with a term that is not specific to Linux at all (yes, Linux does have a userspace HID interface, but it's called "Raw HID support" and uses the /dev/hiddev interface, nothing with all CAPS.)

Possibly he wanted someone to help him with as a "technical expert" to help determine if Linux was infringing on a patent. You decide...

The irony of having a confidential client, and a confidential project, even to the person doing the work, when dealing with an open source body of code, definitely made my day.

Moral of the story is, if you are a lawyer, don't just randomly send out emails to people who have written articles about Linux kernel code and expect them to do work for unknown clients. And if you are a kernel person, be very careful as to who you do work for, you might be doing something to hurt exactly what you are trying to make better.

posted Tue, 19 Apr 2005 in [/diary]


My Linux Stuff