[Haskell-cafe] gmp license == no commercial/closed source
haskell software ??
Jason Dusek
jason.dusek at gmail.com
Thu Dec 4 01:07:08 EST 2008
Bulat Ziganshin <bulat.ziganshin at gmail.com> wrote:
> Don wrote:
> > Lionel wrote:
> > > From my understanding, the gmp is GPL, GHC statically
> > > links it on windows.
> >
> > GMP is *LGPL*.
> >
> > Supporting this is trivial with a dynamically linked / DLL
> > libgmp.
>
> the whole problem is that it links in statically, that reduces
> license to GPL
Jonathan Cast suggests earlier that there is some wiggle room
allowed in 4/(d), even for statically linked programs:
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of
this License, and the Corresponding Application Code in a
form suitable for, and under terms that permit, the user
to recombine or relink the Application with a modified
version of the Linked Version to produce a modified
Combined Work, in the manner specified by section 6 of the
GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with
the Library. A suitable mechanism is one that (a) uses at
run time a copy of the Library already present on the
user's computer system, and (b) will operate properly with
a modified version of the Library that is
interface-compatible with the Linked Version.
At first glance, (0) would seem to apply to a statically
linked application; and it appears damning. However:
The "Minimal Corresponding Source" for a Combined Work means
the Corresponding Source for the Combined Work, excluding
any source code for portions of the Combined Work that,
considered in isolation, are based on the Application, and
not on the Linked Version.
The "Corresponding Application Code" for a Combined Work
means the object code and/or source code for the
Application, including any data and utility programs needed
for reproducing the Combined Work from the Application, but
excluding the System Libraries of the Combined Work.
The latter definition admits object code and this seems to be
in line with what Cast is saying. The former definition is for
the actual source code that must be included -- it is somewhat
vague. If an application relies heavily on multi-precision
arithmetic, even through adapter classes, is everything in it
based on the "Linked Version"?
--
_jsn
More information about the Haskell-Cafe
mailing list