bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mkdir vs. GPL


From: Jim Meyering
Subject: Re: mkdir vs. GPL
Date: Thu, 29 Oct 2009 20:08:08 +0100

Eric Blake wrote:
> The mkdir module is LGPLv2+, but dragged in some GPL stuff.  In addition to 
> the
> licensing problems this represents, I'm also getting link failures on the
> gnulib-tests directory of coreutils on cygwin 1.5:
...
> Jim, Paul - are you okay with weakening the license on portions of the
> dirname and filenamecat modules?  Meanwhile, the only reason the rename module

Yes.  They are trivial enough.

> was GPL was because of its use of dirname; it fits in the same category as
> mkdir of a low-level syscall that should be usable anywhere.

Agreed.

> Eric Blake (5):
>       [1/5] mkdir: make safe for libraries
> Don't use xstrdup; it can exit().
>
>       [2/5] dirname: split into dirname-lgpl
> I've been threatening this for a while.  dirname.h seems like it should be
> usable in LGPL files (particularly since we now have a lot of syscall wrappers
> that want to manage trailing slash bugs), but dirname.c calls xalloc which
> implies GPL.  The split seems pretty straightforward, if everyone agrees.
>
>       [3/5] dirname-lgpl: adjust clients that don't need full dirname
> Fallout from the split.  In particular, test-mkdir and test-rename no longer
> need libintl.  Meanwhile, openat and friends no longer drag in dirname, but
> still drag in xalloc due to openat-die.
>
>       [4/5] filenamecat: split into filenamecat-lgpl
> filenamecat wasn't as pervasive as dirname, but the idea of the split is the
> same.
>
>       [5/5] filenamecat-lgpl: adjust clients
> Fallout from the split.
>
> Still to go - LGPL argp still depends on the GPL dirname module, because it
> uses base_name (which xmallocs).  I can switch it to use last_component
> instead, but will have to audit all clients that used __argp_dir_name to 
> ensure
> they are still correct.

Sounds good.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]