gnustep-dev
[Top][All Lists]
Advanced

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

Re: GCC Runtime Licensing


From: David Ayers
Subject: Re: GCC Runtime Licensing
Date: Wed, 01 Apr 2009 11:52:40 +0000

Am Mittwoch, den 01.04.2009, 11:39 +0100 schrieb David Chisnall:
> On 1 Apr 2009, at 06:24, David Ayers wrote:
> 
> > Indeed I believe this concern has just been addressed:
> > http://www.gnu.org/licenses/gcc-exception.html
> > http://gcc.gnu.org/ml/gcc/2009-04/msg00005.html
> >
> > Thanks for the clarification.
> 
> As I read it, this means that the exemption only applies to code  
> compiled with GCC.

"You have permission to propagate a work of Target Code formed by
combining the Runtime Library with Independent Modules, even if such
propagation would otherwise violate the terms of GPLv3, provided that
all Target Code was generated by *Eligible Compilation Processes*. You
may then convey such a combination under terms of your choice,
consistent with the licensing of the Independent Modules."

"A Compilation Process is "Eligible" if it is done using GCC, alone *or
with other GPL-compatible software*, or *if it is done without using any
work based on GCC*. For example, using non-GPL-compatible Software to
optimize any GCC intermediate representations would not qualify as an
Eligible Compilation Process."

> This is bringing libgcc (and GNU libc?) into line  
> with the existing exemption on GNU libobjc, which is exactly the  
> opposite of what I wanted.  This means that it is not possible, for  
> example, to compile any GPLv2 program with any other compiler that  
> uses the GNU runtime libraries.

Is clang (I gather it's licensed under the MIT license?) not
GPL-compatible?  Note that it also doesn't specify a specific version of
the GPL to be compatible with.  Also note it talks about software used
for the compilation process ie. IDE tools... and not the code being
compiled.

> In fact, this entire exemption is potentially problematic, because it  
> explicitly excludes preprocessors, which means that when GCC runs the  
> preprocessor and copies inline functions from the libobjc headers into  
> programs the exemption does not apply.  This makes it impossible to  
> use recent versions of GCC to compile GNUstep, since GPLv3 is  
> incompatible with LGPLv2.

The LGPLv2 is compatible with GPLv2.

> The exemption I would like to see is:
> 
> - Use of the headers is allowed for any purpose (you can't copyright  
> an interface, so this only applies to the very small number of inline  
> functions and macros defined in the headers).
> 
> - Linking is permitted.

IANAL and jurisdictions vary but stating that you can't copyright an
interface is a broad statement I'd like to be true but by no means would
advise anyone to rely on.

> This is the old exemption from libgcc:
> 
> > In addition to the permissions in the GNU General Public License,  
> > the Free Software Foundation gives you unlimited permission to link  
> > the compiled version of this file into combinations with other  
> > programs, and to distribute those combinations without any  
> > restriction coming from the use of this file. (The General Public  
> > License restrictions do apply in other respects; for example, they  
> > cover modification of the file, and distribution when not linked  
> > into a combine executable.
> 
> This would be absolutely perfect for libobjc.  I don't understand what  
> they hope to gain by changing it, other than to force us to stop using  
> GNU libobjc.

I'm not sure who you mean by "us" but I for sure am fine with using the
license.  But if you have issues I think the correct place to discuss
this is address@hidden (or the possibly the
http://www.fsfeurope.org/projects/ftf/ftf.en.html if your interested in
the a European perspective).

Cheers,
David






reply via email to

[Prev in Thread] Current Thread [Next in Thread]