UnixLib and the GPL
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
I would like UnixLib to retain the free for commercial and
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
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
// 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