harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dalibor Topic <robi...@kaffe.org>
Subject Re: Full disclosure
Date Sat, 03 Dec 2005 20:16:25 GMT
On Sat, Dec 03, 2005 at 02:19:15PM -0500, Geir Magnusson Jr. wrote:
> 
> On Dec 3, 2005, at 12:01 PM, Dalibor Topic wrote:
> 
> >
> >I'd like to see the ASF allow use of code under the GPL+linking  
> >exception
> >as well, as that is necessary for the Apache httpd builds made  
> >using gcc that are
> >distributed from Apache.org anyway, and would allow us to ship gcc- 
> >compiled
> >binaries of Harmony. Someone tell the httpd guys to raise it at  
> >legal-discuss.
> >
> 
> 
> Why do you say that?  Before we go down a rathole discussing this,  
> what do you mean?

C compilers in general have a small bit of common startup code used
by all applications compiled alike. When you compile

int main() {
  printf("Hello  world\n");
  return 0;
}

with any compiler, there is a small amount of things that need to happen
before main is executed at all, and those things are usually the same
for any application, it's pretty generic startup code that ends up being
copied into each compiled executable by the C compiler. 

With gcc, the startup code for darwin (OS X), can be found under
gcc/config/darwin-crt2.c for example. As you can see on the Apple site 
for XCode 2.1, the license of the OS X gcc startup code is 
GPL+linking exception. I've posted a link in a previous post in this
thread. As you can see in the file in gcc's source code, the license for 
the darwin startup code is indeed the GPL with a special exception for
linking:

"
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.)
"

The exception is there by design, to make sure that people using gcc
to compile their code can distribute their binaries freely, without
FSF's gcc startup code's license imposing *any restriction* on their
license choice, even if FSF's startup code ends up being incorporated 
in the compiled binary, which it usually does, as dumping the Apache
httpd OS X binaries and looking for OS X gcc startup code could show.

Under the assumption that some of the Apache httpd binaries 
distributed from Apache.org were compiled with gcc, they would have to
use FSF's code licensed under GPL+linking exception as the embedded 
startup code. That's perfectly fine, and precisely what the GPL+linking
exception is designed for, so pointing that out to whoever has
reservations regarding any use of code under GPL+linking exception might be
fruitful to get the board approval for that license type as well, 
since (under the assumption that the ASF has shipped gcc compiled
binaries) using the GPL+linking exception licensed (startup) code has been
fine for as long as the ASF has shipped gcc compiled httpd binaries.

Once the GPL+linking exception type of licenses is deemed acceptable, we
could make sure that the text of the linking exception in GNU Classpath
matches Apache Harmony's needs as well as the text of the linking
exception used by gcc matches the needs of various operating system
vendors who use gcc as their preferred compiler toolchain of choice ;)

This is a potential hack to fasttrack the GPL+linking exception type of 
licenses through the board, of course, since we'd be able to point to
httpd (or any other C project on Apache.org shipping gcc compiled
binaries) for a precedent of happy use of GPL+linking exception licensed
code.

cheers,
dalibor topic


> -- 
> Geir Magnusson Jr                                  +1-203-665-6437
> geirm@apache.org
> 
> 

Mime
View raw message