[Top][All Lists]

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

Re: [PATCH] readline: Support libedit.

From: Eric Blake
Subject: Re: [PATCH] readline: Support libedit.
Date: Wed, 16 Oct 2013 15:26:11 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

On 10/16/2013 02:08 PM, Ludovic Courtès wrote:
> Mats Erik Andersson <address@hidden> skribis:
>> I would like to see the module readline to access also libedit,
>> should libreadline be missing on a particular system. The patch
>> contained here successfully links against libedit on NetBSD and
>> Debian GNU/kFreeBSD. Likewise, it still behaves correctly with
>> libreadline on GNU/Linux, FreeBSD, DragonFlyBSD, OpenBSD, and
>> OpenSolaris.
> Isn’t libedit supposed to be a clone of Readline just for the sake of
> avoiding the GPL?
> Why not let its maintainers fix it, if they really want it to behave
> like a drop-in replacement?

libedit does NOT support history; as such, it is only a drop-in
replacement for a subset of the full power of GNU readline.  It may
indeed be an appropriate use for gnulib's readline module (which
fortunately only guarantees a subset of libreadline that happens to be
met by libedit), but I'm not sure if we would be setting a poor
precedent by making it easier to shift away from GPL over to BSD
licensing, as the BSD license does not guarantee the same set of freedoms.

In at least the case of libvirt, at one point in the past [1], the virsh
binary had a licensing violation by linking to both libreadline (GPLv3+)
and a libvirt.so containing virtualbox code (LGPLv2-only) at the same
time (those two licenses are incompatible).  One of the ideas for fixing
the problem was to use libedit instead of libreadline (because BSD
licensing of libedit would have allowed a GPLv2 virsh), but it fell flat
because libedit provided too few functions for what virsh was trying to
use.  The license violation was solved in another manner [2] by moving
virtualbox code out of libvirt.so and into the libvirtd daemon
executable, leaving libvirt.so to be LGPLv2+ rather than LGPLv2-only,
where virsh is then GPLv3 when using readline.

Oh, and while on the topic of license interactions: gnutls recently
started linking against nettle, but nettle links against gmp which is
now LGPLv3+; thus, even though the code base of gnutls still claims to
use LGPLv2+, gnutls can no longer be linked into programs that are
[L]GPLv2-only, at least not without forking a version of gmp from its
LGPLv2+ days.

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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