gnu readline licensing?

Brendan Miller catphive at
Tue Apr 20 22:49:49 CEST 2010

On Tue, Apr 20, 2010 at 11:38 AM, Robert Kern <robert.kern at> wrote:
> On 4/20/10 1:09 PM, Brendan Miller wrote:
>> Python provides a GNU readline interface... since readline is a GPLv3
>> library, doesn't that make python subject to the GPL? I'm confused
>> because I thought python had a more BSD style license.
> The PSF License is more BSD-styled, yes. The readline module can also be
> built against the API-compatible, BSD-licensed libedit library. Python's
> source distribution (even the readline module source) does not have to be
> subject to the GPL, though it should be (and is) GPL-compatible.
>> Also, I presume programs written with the readline interface would
>> still be subject to GPL... might want to put a warning about that in
>> the python library docs.
> *When* someone builds a binary of the Python readline module against the GNU
> readline library, then that binary module is subject to the terms of the
> GPL. Any programs that distribute with and use that binary are also subject
> to the terms of the GPL (though it can have a non-GPL, GPL-compatible
> license like the PSF License). This only applies when they are combined with
> the GNU readline library, not before. The program must have a GPL-compatible
> license in order to be distributed that way. It can also be distributed
> independently of GNU readline under any license.

Hmm... So if I ship python to a customer with proprietary software
that runs on top of it, then I need to be careful to disable
libreadline? Is there a configure flag for this or something?

Since libreadline is the default for Linux systems, and Python's
license advertises itself as not being copyleft, and being embeddable
and shippable... It would be nice if this were made clear. Maybe a
note here about libreadline:

It seems to me that the whole of the python distribution would be GPL
after being built with libreadline, so this would be an easy trap to
fall into if you didn't realize that python used libreadline.

More information about the Python-list mailing list