Re: Linux GPL and binary module exception clause?

Filip Van Raemdonck
2003-12-06T00:08:31Z

On Fri, Dec 05, 2003 at 12:26:39PM -0800, Hua Zhong wrote:
> >
> > "Once you build a binary module, it contains our (inlined)
> > code and thus the binary module is a derived work."
>
> Understood and that's what we disagree.
>
> By the way, what's so different between code and data, anyway?

For one, as long as it's code, you are clearly the only copyright holder
and you can more or less do what you want (including distributing).[1]
Once compiled it includes object code to which others have copyright, so
you must take care not to violate their rights.

> > > Otherwise, since SCO found a few lines of code copied from
> > Unix in Linux
> > > source, are we saying the whole million lines of code is
> > derived from
> > > Unix?
> >
> > We have yet to see if they actually found code.
>
> We have. Some malloc function as I remember, and has been removed from
> current Linux sources.

Which was OK to include as it was released previously under a BSD license.

But, to answer the "million lines of code" question: most of that code was
written before that inclusion. And may not even have had anything to do
with the included lines, afterward. So, no, that does not make all of it
(in code form) a derived work.

There may or may not have been developed code related to these lines
afterwards, for which one might argue that that part of the code is a
derived work. It mostly depends on how badly the later code needs the
included lines - but not much I guess since these lines are not even there
anymore.

> > And no; we're not saying all code is a derived work. We're
> > saying that if there is a few lines of copied code, then the
> > compiled kernel which contains object code coming from
> > these lines is a derived work. If.
>
> Binary modules do not _contain_ copyrighted (GPL'ed) code, they merely
> _include_ it (by #inlucde), but the _compiled_ binary modules contain
> compiled copyrighted (GPL'ed) code.
>
> So you are saying, binary modules contain compiled GPL'ed code, so it's
> derived work of GPL'ed code. But kernel sources contained copyrighted
> (non-GPL'ed) code, but the sources were not derived work of that code,
> only the compiled form was?

Binary modules are by their very nature already compiled, so they already
include the GPLed object code.

And the aggregate kernel sources with the ancient unix code included is
indeed a derived work. But the kernel source, apart from that ancient
unix code and which does not need it, is not.

Neither is the source code for binary modules, as long as it doesn't
actually contain kernel code itself. But once compiled, the rules of the
game are set.

Regards,

Filip

[1] Depending on how the code looks. For example, if it needs to patch
kernel source code it is modifying GPLed code, and in that case it is
a derived work even in source code form.

--
Hardware, n.:
The parts of a computer system that can be kicked.