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

Re: GCC 4.4 run-time license and non-GPLv3 compilers



Hi all,

On Fri, Apr 10, 2009 at 02:35:28PM +0200, Florian Weimer wrote:
> Starting with version 4.4, the FSF the licenses the GCC run-time
> library with a special exception:

> | Under Section 7 of GPL version 3, you are granted additional
> | permissions described in the GCC Runtime Library Exception, version
> | 3.1, as published by the Free Software Foundation.

> The exception is reproduced below.  Code covered by the exception
> includes routines in gcc/libgcc2.c, which are linked statically with
> many GCC-compiled programs, providing functionality like 64/64 -> 64
> bit division for 32 bit architectures.  (It's not just the C++
> unwinder, as I originally thought.)
> 
> At least with a strict interpretation, the run-time exception suffers
> from a significant issue with compilers which are not licensed under a
> GPLv3-compatible license (such as the GPLv2, or the QPL), and which
> are implemented in the language itself.  (One such compiler is
> Objective Caml.)  After compilation with GCC 4.4, such a compiler is a
> "work based on GCC" because it links to the GCC run-time library.
> Therefore, it's output cannot use the run-time library exception (it's
> not the result of an Eligible Compilation Process because it's neither
> the result of running "GCC, alone or with other GPL-compatible
> software," nor "it is done without using any work based on GCC"), and
> the resulting binary is covered by the GPLv3 (potentially among other
> licenses).  Bootstrapping the compiler results in a
> non-redistributable binary if the compiler is not licensed under a
> GPLv3-compatible license (such as the QPL, in the Objective Caml
> example).

It's been suggested to me that it might help Debian move forward on this
issue if I provide some background on why Canonical has chosen to not regard
this issue as critical for Ubuntu.

The Ubuntu 9.10 release has shipped with gcc 4.4 as the default compiler.
Since Ubuntu imports the complete set of packages from Debian, this license
incompatibility affects Ubuntu equally as much as Debian.  However, unlike
Debian, Canonical have concluded that the incompatibility is a nominal one
that should not block the switch to gcc 4.4 by default, and have continued
to track gcc upstream in the belief that this is a bug in the new license
exception:

 - It is my informal understanding that the change in exception clause was
   triggered by a specific use case involving non-free language frontends.

 - The effect of prohibiting incompatibly- but freely-licensed language
   frontends from using gcc does not appear to be of either strategic or
   tactical benefit to the FSF or the promotion of Free Software in general.

 - The lack of prompt reaction from the FSF to this issue (assuming it's
   actually gotten in front of the right eyes at the FSF yet, which I can't
   speak to) is not unreasonable:  if the exception change was made to fix a
   bug and has caused a regression, I would expect them to understandably
   wary of introducing further regressions as a result of further changes.

 - The Ubuntu development release included gcc 4.4 as the default compiler
   from April 2009 on, and Ubuntu 9.10 shipped three weeks ago with gcc 4.4
   as default (and with a full ocaml rebuild due to a toolchain transition,
   so this issue definitely applies to the binary package contents of 9.10).
   The FSF has not contacted Canonical requesting a resolution, in spite of
   the fact that this has been a fairly high-profile issue (i.e., discussed
   in LWN).

Based on this, I think that there's a preponderance of evidence that using
gcc 4.4 together with other language compilers licensed under free but
GPL-incompatible terms is consistent with the FSF's intent and as such is
not unethical, nor does it pose a significant legal risk to the project or
the ftpmasters.  It is my recommendation that we therefore switch to gcc 4.4
by default in squeeze, while continuing to reach out to the FSF for
resolution of the licensing bug.

(In any case, the FSF has a clear history of prioritizing remediation over
penalization in the case of unintended license violations, and Canonical is
a bit bigger of a target than the Debian ftpmasters if the FSF were after
money, so I don't think this should be a source of concern for the
ftpmasters.  I realize that I'm also not on the line personally for any
legal liability on Canonical's side and as a result this may not be very
persuasive, but it's my firm belief that this is the right standard for the
Debian ftpmasters to use as well.)

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature


Reply to: