[Python-Dev] Optionally using GMP to implement long if available

Thomas Wouters thomas at python.org
Tue Nov 4 09:55:20 CET 2008


On Tue, Nov 4, 2008 at 07:32, Stephen J. Turnbull <stephen at xemacs.org>wrote:

> "Martin v. Löwis" writes:
>  > Stephen J. Turnbull wrote:
>  > > Thomas Wouters writes:
>  > >
>  > >  > Neither of those (shipping sources or dynamically linking to
>  > >  > GMP) would solve the LGPL issue. People who distribute that
>  > >  > build of Python would still be held by the LGPL -- such as
>  > >  > shipping any sources that they embed that Python into.
>  > >
>  > > No, that's exactly what the "L" in "LGPL" means.  You only have to
>  > > ship the sources to any object module (library or program) actually
>  > > containing GMP code, including any modifications you make to them.  So
>  > > if GMP is kept entirely in a separate library and you don't borrow any
>  > > code from it, the rest of your code is not affected by the LGPL.
>  >
>  > Sure. However, when you ship pythonxy.dll to your users, and it links
>  > with gmp.dll, you *will* have to ship gmp.dll to your users [and]
>  > then you have to include the source (of GMP, not Python).
>
> Right.  There is definitely an administrative cost here, one that
> Python itself doesn't impose.  This may not be a big deal for some
> downstream projects, but that is for each project to decide.  I agree,
> it is quite reasonable for Python to prefer to avoid the issue by
> allowing downstream to add GMP or not as it likes, and simplify its
> own maintenance burden by only providing the simple portable good-
> enough-for-government-work implementation.
>
> Thomas's wording strongly suggested to me that he thought that the
> presence of gmp.dll would force a project to include not only GMP
> source, but Python source *and* even my Killer-App's source.  That's
> not true, and that's the only issue I was trying to address.
>

Ah, but not true according to who? If you read the LGPL, you'll note that it
specifically says that 'linking in' makes the LGPL library part of the work
(or rather, makes the whole a derived work.) Considering that, on Windows,
the linking is done at compiletime and only the loading is done at runtime,
it's unclear to me that this is not the case here. I don't know if RMS and
the FSF think of it this way, but I stopped trying to guess their thoughts
and actions a long time ago. It is certainly the case that such a
combination is enough to scare off corporate lawyers who aren't sure either
(most of them, I bet) and would advise against using that build of Python
because of the LGPL components. It's not without cost to Python, even
discounting the administrativia.

-- 
Thomas Wouters <thomas at python.org>

Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20081104/1c65ebc1/attachment.htm>


More information about the Python-Dev mailing list