* Joe Buck: > On Tue, Jan 27, 2009 at 12:51:22PM -0800, Florian Weimer wrote: >> * David Edelsohn: >> >> > We have also published a rationale document and FAQ to help users >> > understand the exception better. It is avaliable at: >> > >> > http://www.gnu.org/licenses/gcc-exception-faq.html >> >> Is it deliberate that the exception does not extend to programs >> compiled with GCJ? > > There's nothing special about GCJ, it's just the Java front end of GCC and > the rules are the same as for other language front ends.
The difference is that the front end does not work on source code, but Java bytecode, which seems closer to intermediate representation than to a "high-level, non-intermediate language". If I'm not mistaken, there is currently no usable Java-to-bytecode compiler with a license that is GPLv3-compatible (according to the Free Software Foundation's license interpretations). > Perhaps you're thinking about Classpath; some issues were raised > that haven't been worked out, so as the FAQ says: I assume this exception is for libgcc. A compiled Java class file references libgcc (at least indirectly), so it is an Independent Module. The Eclipse compiler and jc1 take part in the Compilation Process. This Compilation Process is not Eligible because it is done with GCC *and* software which is not GPL-compatible. This means that the exception does not come into force as far as libgcc is concerned, meaning that GCJ-compiled programs must be licensed under a GPLv3-compatible license (which is a problem if you want to include GPLv2-only libraries, for instance). Other cases are rather unclear, too. A hypothetical QPL-licensend compiler which links against libgcc (Objective Caml apparently doesn't) cannot produce an Eligible Compilation Process because it is a work based on GCC (thanks to libgcc), and not everything is GPL-licensed. Interpreters capable of producing ELF binaries might also be affected by a similar issue. Call me paranoid, but this looks like yet another example where the Free Software Foundation tries to make things easy for proprietary software developers, and ends up leaving projects behind which use non-GPL free software licenses--whose status as free software licenses is acknowledged by the FSF.