gmp license == no commercial/closed source haskell software ??

I've just discovered the GMP license problem. (see http://hackage.haskell.org/trac/ghc/wiki/ReplacingGMPNotes) From my understanding, the gmp is GPL, GHC statically links it on windows. As a consequence, any program compiled using GHC must be distributed under a GPL compatible license. In the threads I've read, some workarounds are proposed on linux and OsX, but I didn't see anything on windows. Is the situation still the same ? Does anybody know a work-around to make a closed-source programm in haskell without violating the GPL ? ( Note this could block Haskell in our company. ) -- Best Regards, lionel Barret de Nazaris, ========================= Gamr7 : Cities for Games http://www.gamr7.com

lionel:
I've just discovered the GMP license problem. (see http://hackage.haskell.org/trac/ghc/wiki/ReplacingGMPNotes)
From my understanding, the gmp is GPL, GHC statically links it on windows. As a consequence, any program compiled using GHC must be distributed under a GPL compatible license.
GMP is *LGPL*.
In the threads I've read, some workarounds are proposed on linux and OsX, but I didn't see anything on windows.
Is the situation still the same ? Does anybody know a work-around to make a closed-source programm in haskell without violating the GPL ?
It is LGPL, which is a very important distinction. It just must be possible to replace the libgmp component with another that has been modified - you can't actively prevent people replacing the libgmp component. Supporting this is trivial with a dynamically linked / DLL libgmp. With a statically linked one, it is also possible, since the API calls to libgmp are specified. This shouldn't prevent commercial use -- lots of other companies have decided this is OK. You just need to be aware of it. -- Don

Hallo, Don Stewart wrote:
Supporting this is trivial with a dynamically linked / DLL libgmp. With a statically linked one, it is also possible, since the API calls to libgmp are specified.
Is it also possible? How?
This shouldn't prevent commercial use -- lots of other companies have decided this is OK. You just need to be aware of it.
They have decided this is OK as long as they can ship a shared library. Cheers, -alex http://www.ventonegro.org/

Hello Don, Wednesday, December 3, 2008, 5:36:57 PM, you 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 -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin
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

On Wed, 2008-12-03 at 15:36 +0100, Lionel Barret De Nazaris wrote:
I've just discovered the GMP license problem. (see http://hackage.haskell.org/trac/ghc/wiki/ReplacingGMPNotes)
From my understanding, the gmp is GPL, GHC statically links it on windows.
Lesser GPL: http://www.gnu.org/copyleft/lesser.html It doesn't actually have a section 2(c) as per the wiki. Section 4(d)0 of the LGPL is traditionally taken to allow static linking, as long as you distribute a) The source of the version of GMP you use (corresponding source), and b) Object files/libraries for your program + the GHC RTS suitable for static linking with your user's (possibly modified) builds of the distributed GMP source. jcc
participants (6)
-
Alex Sandro Queiroz e Silva
-
Bulat Ziganshin
-
Don Stewart
-
Jason Dusek
-
Jonathan Cast
-
Lionel Barret De Nazaris