Okay, a brief recap:
A copyright holder holds *the right to copy* some "work".
If you copy that work without permission, the copyright holder
may sue you.
Note that nobody else may sue you, because nobody else has been wronged.
This is why the Free Software Foundation likes to have copyright
assigned to it on many GNU projects, so that it can sue. (Or, in
practice, just *threaten* to.)
In particular, Microsoft can only sue if it holds copyright to some
portion of the kernel.
The permission may have hooks attached (like paying money per copy).
It may also be given multiple times, unless specifically agreed to
otherwise (an exclusive contract is a contract saying "I promise not
to give anybody else permission").
This is the important reason why code may be available under the GPL
and other licenses simultaneously. Nothing stops the copyright holder
from saying "You may copy this work 1) Under the terms of the GNU GPL,
or 2) If you are a left-handed Moldavian, or 3) If you are my friend
Barry." The GPL is not attached to a specific copy; in this
situation, Barry may find a copy of the work at a public FTP site,
and proceed to completely ignore the GPL.
The only people who even have to know about part 3) of that are the
copyright holder and Barry. Just because one set of permissions is
mentioned in the code does not mean that there aren't others, unless
the holder wishes to explicitly say so. (And even if he did, it would
be hard to find grounds to sue him if he changed his mind.)
If you noticed Barry violating the GNU GPL (and also noticed that he
wasn't a left-handed Moldavian, and didn't twig that this meant the
copyright holder was being capricious), you might ask Barry, and Barry
could just say "nyah, nyah, piss off". You might then run to the
copyright holder, properly scandalized, and recieve no more explanation
than "naah, I don't feel like suing Barry." And then you'd be stuck,
not even knowing that it's all on the up-and-up.
Anyway, back to the Linux kernel. The GNU GPL requires that if you
use GPL code (that is, code made available to you through the
action of the GPL; if you have *other* permission, the fact that
the GPL is rubber-stamped all over the code is completely irrelevant
to you) and combine it with some *other* code, the result must be
copyable under the terms of the GPL.
The other code may also be copyable under other terms. (Significant
portions of the Linux kernel are copyable under other terms.) Copying
the ocde under those other terms does not violate the GPL on the
original code if:
1) The original code is also copyable under the other terms, or
2) You remove all of the code that you don't have permission
to copy under the other terms.
As people have mentioned, some parts of the Linux kernel are shared with
the Free BSDs. This requires additional permissions. Other parts may
be in the public domain. None of this *conflicts* with anything, because
all the copying terms allow everything the GPL allows.
Because some parts allow *only* the GPL, you can't copy the whole thing
under any terms but the GPL.
Now, one note that may be relevant: what if someone stands up and says
"I'm suing you all for copying my code in foo_bar.c without
permission." We might look and find that indeed there is a claim of
authorship in there and no mention of explicit permission. The Linux
kernel is pretty sloppy in that regard; we just assume that everyone
means to allow GPL distribuion.
However, while it's messier, not to worry; the assumption is backed with
teeth: everyone *else* with copyright in nearby bits of code can point
out that by distributing the non-GPL code with all of their GPL code,
the offender has violated about fifteen people's copyright. Who are
all going to sue right back. And the offender will find themselves
looking down the barrel of a bigger gun than they have to wave.
It can still get ugly and messy to resolve the whole thing if somebody
just wants to be bloodyminded and cause trouble, but it's not exactly a
lucrative money-making opportunity.
(The way that the GNU GPL builds this chain of obligations back to the
original author (e.g. Linus) is why some people refer to it as a "virus"
which "infects" everything it touches.)
With apologies for being so long-winded, I hope this makes some things
clearer. (I also hope that if any intellectual property lawyers are
hanging around, they'll excuse me for not explaining derivative works
and the right to modify a work, and they'll correct any errors I have
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org Please read the FAQ at http://www.tux.org/lkml/