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 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". -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
Thanks for the very quick reply Richard. I agree that it's bizarre. On the Hivex side, a README in the gnulib directory would be very useful; maybe just copying over the gnulib README file would be enough. I'll take my further confusion over to the bug-gnulib@ mailing list :) Thanks, Hen On 11/26/10 10:22 AM, "Richard W.M. Jones" <rjones at redhat.com> 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 > > 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".
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 GPLHi 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.
Reasonably Related Threads
- Patch to build hivex lib on Windows
- [PATCH hivex 02/14] maint: remove unnecessary test-before-free
- hivex: pod2html complaints
- [PATCH 01/14] hivexsh: Document some peculiarities of the "cd" command.
- hivex patch to solve device or resource busy error when access Windows directory while open system hive