Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - license: (7 Items)
   
license  
qnx is using gcc as backend then it supposed to include some libraries in binaries, and I believe gcc's license is gpl 
so QNX should open source for these too? Or QNX rewrote these libraries?
Re: license  
> qnx is using gcc as backend then it supposed to include some libraries in 
> binaries, and I believe gcc's license is gpl so QNX should open source for 
> these too? Or QNX rewrote these libraries?

The GNU tools src (gcc, gdb, binutils etc) is available in the Core development tools project. Is this what you are 
referring to?

There's also libgcc.a (runtime support lib for gcc) - the source for this is in the gcc directory in the src above. 

Or are you referriing to something else?

Sebastien 
Re: license  
> qnx is using gcc as backend then it supposed to include some libraries in 
> binaries, and I believe gcc's license is gpl so QNX should open source for 
> these too? Or QNX rewrote these libraries?

QNX is using gcc as a compiler, does not mean the binary comes out of gcc is linking with GPL'd library. QNX provide 
their own libc to keep the "clean IP". 

And of cause, just because you "used gcc", doesn't mean you have to open source your binary. The source of "gcc" (as 
well as other GNU utils) that QNX used, is opened.

Btw, the QNX libc is also part of the core os source that "opened for public access" (sorry, read too much slashdot 
comments) yesterday. 
Re: license  
libgcc.a is what I am referring to.
as an example: QNX binary A staticly linked with QNX' libc.a(or dynamically linked with libc.so), libgcc.a,  if you 
don't open source for QNX binary A, is that a problem? I assume libgcc.a is GPL'd.
Re: license  
libgcc has a special excemption that says that if you linnk it against something, that something does not have to be 
distributed under the terms of the GPL:

============================
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.)
Re: license  
thanks Brian! 
Re: license  
thanks!
I found what you said!

001 /* More subroutines needed by GCC output code on some machines.  */
002 /* Compile this one with gcc.  */
003 /* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
004    2000, 2001, 2002  Free Software Foundation, Inc.
005 
006 This file is part of GCC.
007 
008 GCC is free software; you can redistribute it and/or modify it under
009 the terms of the GNU General Public License as published by the Free
010 Software Foundation; either version 2, or (at your option) any later
011 version.
012 
013 In addition to the permissions in the GNU General Public License, the
014 Free Software Foundation gives you unlimited permission to link the
015 compiled version of this file into combinations with other programs,
016 and to distribute those combinations without any restriction coming
017 from the use of this file.  (The General Public License restrictions
018 do apply in other respects; for example, they cover modification of
019 the file, and distribution when not linked into a combine
020 executable.)
021 
022 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
023 WARRANTY; without even the implied warranty of MERCHANTABILITY or
024 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
025 for more details.
026 
027 You should have received a copy of the GNU General Public License
028 along with GCC; see the file COPYING.  If not, write to the Free
029 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
030 02111-1307, USA.  */
031 
032 /* It is incorrect to include config.h here, because this file is being
033    compiled for the target, and hence definitions concerning only the host
034    do not apply.  */