UnixLib and the GPL

Nick Burrett nick at dsvr.net
Tue Jun 8 02:41:22 PDT 2004


For years I've wondered whether UnixLib was actually used by anybody in 
a commercial environment.  I can only think of one or two occasions 
where a commercial entity has questioned and asked permission to release 
software that is linked against the library.

The official stance is that UnixLib was free for commercial and 
non-commercial use.  Circa 1997 and earlier, the opinion was similar 
apart from that a small "donation" might be made to the developers in 
recognition of the work they've done, though the "donation" was never 
specifically defined.

I would like UnixLib to retain the free for commercial and 
non-commercial use.

In the last 4 years, UnixLib has gained an increasing code base licensed 
under the GPL (note that this is not the LGPL).  The problem is that 
UnixLib is not a shared library and in effect a user is linking their 
non-GPL binary application with a GPL application.  This therefore 
affects the distribution terms of the non-GPL binary and potentially 
forces it to be GPL.

The GCC supporting library, libgcc, works around this licensing issue by 
incorporating the following amendment:

/* As a special exception, if you link this library with other files,
    some of which are compiled with GCC, to produce an executable,
    this library does not by itself cause the resulting executable
    to be covered by the GNU General Public License.
    This exception does not however invalidate any other reasons why
    the executable file might be covered by the GNU General Public 
License.  */

The Standard C++ Library contains this modification:

// As a special exception, you may use this file as part of a free software
// library without restriction.  Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you 
compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License.  This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.


It is my opinion that if we are to include GPL-licensed code in UnixLib, 
then it would have to include the Standard C++ Library license 
modification (or a derivative of it).  However we are not legally 
entitled amend source files without prior permission.

Originally when we enhanced UnixLib, we tried hard to derive the code 
base from the BSD implementations, or re-write to remove the license issue.

It's difficult to know what to do now.

-- 
Nick Burrett, Senior Systems and Network Engineer
Designer Servers Ltd.   http://www.dsvr.co.uk




More information about the gcc mailing list