Hi Nikos,

>  Currently in gnutls we used gnulib for the main library (LGPLv3) and
> the applications (GPLv3). In the main library we use only modules that
> are lgpl and the applications use few gpl modules as well. However it is
> not easy to make sure that only LGPL modules of gnulib are used in the
> library, thus I'd like to ask if there a recommended way to separate
> those modules in order to avoid accidental usage of a GPL module in an
> LGPL library?

Yes, what we recommend is to use gnulib-tool twice, with different
--source-base options, different --macro-prefix options.
  - First with the set of LGPL modules.
  - The second time with the set of GPL modules, and --avoid options
    that avoids duplicate code. Also use the --witness-c-macro option
    here (cf. [1]).
You can use the same --m4-base, --aux-dir options in both invocations.

[1] http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00090.html

> However glimpsing the sources I found out that:
> vasprintf: modules/vasprintf lists LGPLv2+ but vasprintf.c is GPLv2
> argp: modules/argp lists LGPL but argp-*.c are GPL
> opendir: modules/opendir lists LGPL but opendir.c is GPL
> 
> It seems they're pretty numerous
> (vfprintf-posix,time_r,strndup,sockets,socket,strcase,mempcpy,sleep and
> more). What is the actual license of the modules? The one in the file or
> in modules/ description?

This is documented here:
https://www.gnu.org/software/gnulib/manual/html_node/Copyright.html

Bruno
-- 
In memoriam Nicholas Owen <http://en.wikipedia.org/wiki/Nicholas_Owen_(martyr)>

Reply via email to