[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Built-Using, libgcc, and libc_nonshared



Hi Lucas,

In a discussion of mksh-static (see http://bugs.debian.org/709382), the
question of GPL compliance for the source code of the components of libgcc
and libc that are incorporated into binaries came up.  mksh-static of
course links statically and therefore pulls in substantial portions of
library source, but there are parts of libgcc and possibly libc that are
always incorporated into binaries, even ones that are dynamically linked.

I had previously assumed that this did not impose any restrictions on
source code availability for the libgcc and libc source because they both
have run-time exceptions that basically allow one to incorporate that code
into binaries under any other license without following the terms of the
GPL or LGPL.  However, Thorsten has raised the interesting point that the
license of the source code for the binary may be GPL with no exceptions,
and therefore under the GPL the resulting compiled executable is covered
by the GPL and we have to provide its complete source code.  That would
seem to include the source for the incorporated static libgcc and libc
components, since Debian cannot make use of the operating system component
exception in the GPL.

Obviously, I don't think anyone does this, and we've never done it
historically.  But "no one does this" isn't the most compelling argument
when it comes to license compliance.

If we do need to preserve source for the libcc and libc components
incorporated into binary builds, that's going to mean Built-Using for
nearly the whole archive, and a lot of complexity on the DAK side.  That's
obviously not very desirable.  We would rather decide that we don't need
to do this.  But I don't know what procedure we should follow, as a
project, to decide that.

Also, if we're going to decide that we're not going to track source code
for that sort of inclusion, we need to know what the boundaries of that
exception or decision are, and whether it would also apply to fully
statically-linked binaries, etc.  We should document that policy in Debian
Policy so that people know when to use Built-Using and when not to.

Do you have an opinion on how we should make these decisions as a project?
Is this a place where possibly we should seek the opinion of legal
counsel?

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: