LGPL and static linking of libgmp
Wed, 22 May 2002 17:21:17 +0200
I just re-read the GNU Lesser General Public License today - and I
discovered that it places some utterly strange (IMHO) restrictions on
executables statically linked with LGPLed libraries.
Unfortunately, GHC for Windows produces such executables by linking
in libgmp statically. Dynamically linking with libgmp would cause no
restrictions, but if it is statically linked, the LGPL says that
everyone distributing a program compiled with GHC has to 'Accompany
the work with the complete corresponding machine-readable source code
for the Library including whatever changes were used in the work
(which must be distributed under Sections 1 and 2 above); and, if the
work is an executable linked with the Library, with the complete
machine-readable "work that uses the Library", as object code and/or
source code, so that the user can modify the Library and then relink
to produce a modified executable containing the modified Library. (It
is understood that the user who changes the contents of definitions
files in the Library will not necessarily be able to recompile the
application to use the modified definitions.)'
I think it would be best to have future distributions of GHC for
Windows include libgmp as a DLL. That's what I'll be doing for my
future releases of GHC for MacOS X.