Subject: Re: [ Re: ADOSFS and GPL]
To: None <>
From: Richard Stallman <>
List: amiga-dev
Date: 02/15/1994 12:01:12
      Our problem is that we're sitting on a filesystem implementation
      written under GPL protection and we don't know if it's possible to
      incorporate this filesystem code into the main NetBSD repository at
      Berkeley without applying GPL to all of the NetBSD kernel source.

You don't need to change the terms for the other kernel files.
The fact that one file is covered by the GPL can never force
you to apply the GPL to some other file written entirely by you.
If you copy the GPL-covered code, then the GPL has to cover
the file that it was copied to.

In general, anyone distributing a kernel binary must obey the
conditions for each source file used.  If one of the source files is
covered by the GPL, that brings in the requirement to make available
complete source for that binary, including the files that are not
covered by the GPL.

I don't believe it makes any difference how the linking is done--
whether it is static or dynamic.  If someone distributes a kernel
binary that is meant to have a particular GPL-covered module
linked into it, that is one program, so the whole kernel source
must be provided.

If the kernel binary isn't meant to have a module linked in
with it, and some user decides to link it in, then only that user
is responsible for the decision, so the kernel binary distributor
cannot have any responsibilities as a consequence.

Legally, you're not required to use the GPL except on files that
contain copied GPL-covered code.  However, as a practical matter, it
would be better for you to use the GPL wherever you can, since that
will ensure people who make changes actually release them as free
software.  If you permit changes to be proprietary, you will again and
again find yourself in the position of trying to catch up with
proprietary changes.  Cooperation should be a two-way street; 
if someone wants to be part of the community, he should contribute
when he has an opportunity.