Re: [future of drivers?] a proposal for binary drivers.

Phillip Susi
2006-03-10T02:57:54Z

Dave Neuer wrote:
> A "work based on one or more preexisting works [in] any other form in
> which a work may be recast, transformed or adapted" sure sounds like
> it fits someone compiling software with my symbols in it to me.
> Elaboration sure sounds like it fits program code calling my program
> code to me.
>

No, because the individual names of functions are not covered by the
copyright, only the body as a whole ( or significant part ). That's why
the first person to write hello.c can't sue everyone who uses printf().

>> You _might_ be able to
>> argue that they use your headers to compile their driver, so that
>> violates your copyright, but they are free to develop their own
>> compatible headers to produce compatible binaries which are in no way
>> derived from the Linux kernel. See Wine's win32 compatible headers and
>> libraries for examples of this.
>
> I'm sorry, I don't think that analysis is correct for software, see
> for example: http://community.linux.com/article.pl?sid=02/11/13/117247&tid=87&tid=41&tid=12&tid=42,
> and Linus' previous explanations as I pointed out in my reply to
> Xavier.
>

The key question is does work A contain substantial parts of work B? In
the case of a source library that is compiled and linked into an
executable, then you can argue that the executable image is a work
substantially derived from the library. In the case of linking to a
shared object however, the binary does not actually contain any of the
material from the library, so it is not a derived work.

This is why gcc is not infringing on Microsoft's copyrights whenever
they create a win32 executable image that links to windows' dlls and
this is why ndiswan and captive NTFS are not infringing on MS's
copyrights.

In the case of wine, it is not infringing on Microsoft's copyright
because they wrote their own win32 api headers. They contain the same
function names, but that does not make them a derived work.

In the case of ATI's drivers at least, they distribute their own object
files which they hold the copyright to, and are not derived from the
linux kernel in any way, and the user must link them with the correct
objects of kernel code to create the actual loadable module. At best if
you could show that the final module contains substantial code from the
kernel you might argue that it is a derived work, but since ATI only
distributes their own object code, there's no way you can claim they are
infringing on your copyright.