[GCC-XML] Function bodies

Brad King brad.king at kitware.com
Tue Jan 31 10:17:06 EST 2006


Hi Andreas,

Thanks for your comments, they definately help clarify things.

Andreas Degert wrote:
>>What's really important to me: At which level of indirection would
>>the GPL not be applicable?
>>1) Would my code have to be GPLed?
> 
> It has at least to be compatible with the GPL, because gcc-xml has to be
> released under GPL. If you want to use your code also in other
> projects, you can also publish it under multiple licenses.

Daniel's dump code is a derived work from the GPLed part of GCC-XML, 
which is a derived work of GCC.  Therefore the function body dump code 
itself must be GPLed.

There is a second part to GCC-XML that is not derived from GCC and is 
distributed under a BSD-style license.  This is the front-end "gccxml" 
executable that detects native compilers and determines how to simulate 
their preprocessors.  It then invokes the "gccxml_cc1plus" executable 
which is the GPLed part that does the actual dumping.  The front-end 
could just as easily invoke another preprocessor so it is not tied to 
the GPLed part at all.

>>2) Would code, that processes the body dump, have to be GPLed?
> 
> if the data format ties that code strongly to gccxml (e.g., if its
> like writing a plugin for a GPL'ed program), I'd say yes.

In the current state of Daniel's body dump implementation I'm afraid 
this is true.

Daniel, it looks like if you can find a way to make the format look more 
like the grammar specified in the C++ standard and less like GCC's 
internal structures it may resolve this problem.

>>3) Would code, that is being dumped (and further processed), have to
>>be GPLed?
> 
> no, at least not because of the GPL license of gccxml. But since this
> enhanced form of gccxml might qualify as a translator, the code might
> be governed by the original license of the input code.

This is the goal of GCC-XML's dump, and is the case with the original 
no-function-body dump.

-Brad



More information about the gccxml mailing list