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

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

* Stéphane Glondu:

>  * The runtime (ocamlrun) is a pure C program, that can be compiled with
>    any C compiler. Customized runtimes (with functions implemented in C)
>    can be generated; in this case, a C file might be generated by
>    ocamlc{,.opt}, and this file is handled the same way as the other
>    files containing the C functions.

But in Debian, we compile with GCC.  And for the Int64 module,
functionality from libgcc2.c gets compiled into the binary.  (This is
just the example I've verified.)

> In any case, intermediate representations of GCC are not used. IMHO,
> the exception applies to OCaml itself (and its runtime), and code
> generated by OCaml are usually not concerned. Therefore, I don't
> consider any part of the OCaml system being a work based on GCC.

IMHO, "Work based on GCC" has to be interpreted in a copyright sense.
Programs compiled with ocamlopt likely contain some pieces of the GCC
run-time library, so they are works based on GCC to some degree.  (And
this is not really debatable---after all, the FSF uses precisely this
angle to restrict the use of GCC, by limiting the scope of the
run-time library exception).

I don't even think it's an expansionist position because it involves
static linking.  (I don't like the related view that referencing
functionality described in a language standard, perhaps through
dynamic linking, makes your code subject to the copyright license of
one implementation of that functionality, but this does not apply

> The FSF obviously wants to outlaw proprietary compilers that use
> intermediate representations of GCC. Using GCC as a C-to-asm compiler is
> fine, even in a proprietary project. The FAQ states explicitly that a
> program generating a C file, for example (which might be a compiler in
> fact), doesn't take part in the "compilation process". So one could even
> make a proprietary compiler using C as an intermediate langage, and GCC
> for the final stage, I guess.

Well, this is an argument why the FSF might not like the effect of the
run-time library exception on Objective Caml.  I don't think it's a
compelling argument against the interpretation of the exception I've
outlined.  Unless the FSF clarifies it's position, we don't know how
they prefer to resolve the conflict.  I can image that they want to
promote the use of the GPLv3-compatible licenses for compilers on free
operating systems (comparable to how they promote the use of GNUTLS).

Reply to: