The Freecom driver does something unusual for devices of this sort: it
begins by pulsing, one bit at a time, a sequence of 14827 bits into the
adapter. At first glance this would appear to be the program for a
microcontroller of some sort, although it looks odd - more than 80% of the
bits are ones. I suspect it is more likely to be a table that controls
a finite state machine.
I suppose I ought to take the conservative path and consider this byte
stream to be "code", and not part of a protocol transaction. My
understanding of situations like this is that to be subject to copyright
protection, code must clearly carry - in plain text - a notice of it's
copyright status. No obvious rendering of this bit stream produces any
intelligible text.
I don't disassemble drivers - but I can report that in this case, the
precise sequence that I have obtained from my analysis of the protocol
transactions occurs verbatim in the body of the .SYS file that comes with
the drive. That driver does, of course, contain a copyright.
Now, this presents me with a problem. I can build a driver that doesn't
contain the initialisation sequence - assuming that the user will
initialise the drive with the DOS driver - and then boot into Linux.
I could also provide a small tool to extract the sequence from the
from the DOS driver and make a suitable data definition to be included in
the driver - so people who have the DOS driver can build a Linux driver
that contains the initialisation sequence.
Or, I could include the binary sequence as a data definition - since it
is unintelligible on its own, is useless without the device itself, and
carries no intrinsic copyright.
In the interest of ease of use - especially considering it will most
often be newcomers who want to use this thing - I'd prefer to take the
third option.
I know some of these issues have been discussed before, but I'd like to
hear opinions and recommendations.
--------------------------------------------------------------------------
Grant R. Guenther grant@torque.net
--------------------------------------------------------------------------