Richard W.M. Jones wrote:
On Fri, Nov 26, 2010 at 10:03:05AM -0800, Yandell, Henri wrote:
> We’re looking into using Hivex and came across something odd. While
> the license of hivex.c is LGPL 2.1, it appears to require the GPL
> 3.0 licensed gnulib package for a few minor functions ( full_read,
> full_write and c_toupper ). There are also a few GPL 3.0 build
> files.
It has always been our intention to allow hivex to be used from both
proprietary and free software, and so the library should be LGPLv2+.
The standalone programs are GPLv2+, but this should not be a problem
because you wouldn't link software to them.
I have looked at the gnulib modules that we're using in the library
(ie. lib/*) and they are:
hivex c-ctype LGPLv2+
hivex full-read LGPL
hivex full-write LGPL
(according to .gnulib/modules/* License field which is what you should
look at, *not* the comments at the top of each gnulib source file
bizarrely).
Therefore I think for the library we are OK.
Just to complete the analysis, for the programs we are using:
hivexsh c-ctype LGPLv2+
hivexsh xstrtol GPL
Hi Rich,
Your analysis is correct.
The Makefiles are GPL, but they don't affect the library or the
programs in any way. They constitute a separate program used to build
the software.
Rich.
CC'd to Jim: This analysis is a pain, and gnulib-tool doesn't let you
say "I want to use LGPL for this directory and GPL for this other
directory".
Yes, that is inconvenient.
The alternative is to have two separate gnulib-style libraries,
one with the lgplv2+ modules you use, and another for those
additional ones that you use from gplv3 applications.
But that is a lot of inconvenience for not much gain.
This has been lamented and discussed/justified several times
on the bug-gnulib mailing list.