Update; cpphs for GHC?
simonmarhaskell at gmail.com
Thu Jul 26 08:54:17 EDT 2007
Duncan Coutts wrote:
> On Thu, 2007-07-26 at 08:53 +0100, Simon Marlow wrote:
>> Peter Tanski wrote:
>>> StgCRun.S is done for x86 (still need to do x86_64 and ia64). Builds fine.
>>> What about using cpphs with GHC? I could set it up as either a program
>>> run by ghc for 'runCpp' or as a library called by runCpp.
>> We've avoided cpphs so far because of the license. But if there's a good
>> technical reason to use it (and there does seem to be), then by all means
>> go ahead.
>> The library route would be preferable, unless it causes any licensing
> BTW, is it the practical problem of LGPL'ed Haskell code (difficulties
> with dynamic linking compared to (L)GPL'ed C code like gcc, readline
> etc) that is the problem, or is it the
> MS-can't-touch-(L)GPL-with-barge-pole problem?
> Just want to clarify what our real licensing restrictions are, given
> that ghc already does bundle GPL programs (mingw) and link to LGPL
> libraries (readline, gmp). If it's just the practical problem that
> LGPL'ed Haskell code can't be so easily relinked as C code (stable ABI
> and all that) then we might be able to ask for a static linking
> exception for cpphs.
There are no real practical problems with this, as you say we already link
to LGPL libraries. But as a matter of strategy, we want to reduce our
Remember that *we* may understand the LGPL (or at least claim to :-), but
not all potential users of GHC are in this situation, and some will have to
expend resources (time and money) to determine whether they are able to use
or modify GHC safely, and retain the rights they need over the output that
GHC generates. If GHC's license situation is complex or ambiguous, the
resources required are that much greater. Ideally GHC and everything it
depends on would be BSD-licensed, and that's the direction we want to head in.
> Alternatively we could bundle the cpphs program rather than using the
> cpphs library. The cpphs library is LGPL, while the cpphs program is
> GPL, but then cpp is GPL too. The practical problem is the same in both
> cases, that MS folk can't contribute fixes for cpp(hs).
I have some misgivings about whether linking LGPL Haskell libraries is
within the spirit of the license, given that re-linking is often
impractical. But nobody else seems to care about this, I haven't seen any
authors of Haskell LGPL libraries complain that users can't easily comply
with it. I suppose the re-linking requirement isn't as critical as the
contribute-changes-back requirements, so authors are prepared to turn a
Malcolm, how do you feel about this? Are we able to link cpphs as a
library statically to GHC?
More information about the Cvs-ghc