Posted Jul 20, 2006 19:16 UTC (Thu) by brouhaha
In reply to: Reverse engineering
Parent article: OLS: Open source graphics drivers
"A free driver could then replay the appropriate sequences ..." I think doing this would classify as copying
No, because the sequence of writes to the registers is not copyrighted, nor can it be under US law. The code is copyrighted, but the effect
of the code is not. It is a purely functional aspect of the driver, not an expression protectable by copyright. (There is special provision for copyright of audio-visual works generated by software, e.g., the visual appearance of video games, or the "look and feel" of a spreadsheet program, but that doesn't apply in this case.)
If examination of the operation of the driver (via a logic analyzer or a virtualization environment, but NOT by a disassembly of the code) reveals that it writes 0x12 to register 0x37, then writes 0x66 to register 0xab, it is perfectly acceptable to write a spec that says that to accomplish some particular operation, those two register writes should be performed. Then someone (possibly the same person) can write code that performs those writes.
If the same information is determined by disassembly of code, then it is best to have a "Chinese wall", and have the person that disassembled the code only write the spec, and have someone else write new code based on the spec.
the DMCA prevents reverse engineering of certain products in the US
It only prevents reverse-engineering of copyright protection systems. In the case of a video card driver on a PC, that only means that you couldn't reverse-engineer the way the driver controls the Macrovision feature on the TV out (if the card even has that feature).
to post comments)