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

Stephen J. Turnbull stephen at xemacs.org
Tue Nov 4 07:32:50 CET 2008

"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.

More information about the Python-Dev mailing list