This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Progress on GCC plugins ?


Robert Dewar wrote:
> Brendon Costa wrote:
> 
>> The patch against GCC is GPL, the main library that is capable of
>> manipulating the data exported by the patched GCC is LGPL and could
>> theoretically be under any license.
> 
> Whose theory? You don't know that!

I thought it was obvious :-) My Theory... A theory is not necessarily
true...

I will clarify where i am coming from... I am a software developer and
know very little about the legal side of things. What i have said is
really the way i understand things as i have tried ti have a basic
idea of what all this entails and how it affects my work.

If the license extends to the data generated by GPL apps (Which is
really what I think we are talking about), then wouldn't the binaries
or for that matter the intermediate source files generated by GCC (for
example using g++ -save-temps) also be covered under the GPL
regardless of the license of the source being compiled?

This data could include:
* object files
* intermediate source files (.i, .s)
* pre-compiled header files
* any other form of the original source serialized into some specific
format such as GIMPLE exports etc.

The problem with this is that each of these is really just a different
representation of the original source code. This complicates matters
even more if we have both the GPL of GCC and the license of the
original source code impacting on what is generated. Wouldn't it mean
that only certain types of licensed source code are allowed to be
compiled with GCC?


Where do you draw the limit of what is covered and what is not?

It seems to me from what you have said, nothing is safe from the GPL.
If an OS like BSD compiles itself with GCC and this mandates that
anything which uses that data must also be licensed under GPL, then
they have no choice but to say only GPL code is allowed to run on this
OS. I dont see that as being the current common view. Most of the
BSD's have a non-GPL license and still use GCC to compile.

Or are you saying that the FORMAT of the data exported is covered by
GPL, not the data itself? Does that mean if you design a particular
data format in a GPL app, that you are not allowed to write a non-GPL
application that uses data in that format? Does this also apply the
other way around?

I dont know if microsoft have some sort of license over the PExe
formation for binaries. But if so, then is GCC actually ALLOWED to
export data in that format? Look at GIF.

Then i guess it is worth asking, does the GPL applied to the code of
the plugin automatically then apply to the format of the data exported?

Sorry for the long email. I am just trying to understand the issues
involved.

>>
>> I don't see plugins as changing this except to make it easier. Which
>> is really a major reason for proving plugins isn't it? Making it
>> easier to provide additional GCC features?
> 
> No, it has other changes, since it establishes a standardized
> interface. In my view (from the point of view of an expert
> witness in copyright matters), this *does* make a big difference
> from a licensing point of view. Of course that's just my view,
> I don't know either, but I know that I don't know :-)

Are we talking about the standardized interface provided by GCC that
people can use to write plugins for? If so i would agree that anything
which uses this interface must be GPL. So the code for a plugin of GCC
must also be GPL.

If talking about the "interface" that is generated by the export of
data in a particular format. I still dont see how that affects the
tools that make use of that data format unless the particular format
has a license imposed on it.

Again, this is all just my view and I am *NOT* an expert in this
field. In fact, i have had almost NO experience in legal areas. I am
curious to know where i have mis-understood the application of the GPL
to the GCC project and how that might apply to others like my EDoc++
project.

Thanks,
Brendon.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]