
On 2008 Sep 27, at 11:59, Simon Marlow wrote:
Magnus Therning wrote:
Wolfgang Jeltsch wrote:
Am Freitag, 26. September 2008 09:24 schrieb Magnus Therning:
Recently I received an email with a question regarding the licensing of a module I've written and uploaded to Hackage. I released it under LGPL. The sender wondered if I would consider re-licensing the code under BSD (or something similar) that would remove the need for users to provide linkable object files so that users can re-link programs against newer/modified versions of my library.
Since GHC does cross-package inlining, code of your library is directly included (not just linked) into code that uses the library. So I think that every code that uses your library will have to be released und the GPL or LGPL which is a very bad situation.
People, don’t release Haskell libraries under the LGPL!
That would be serious indeed, but before changing my ways I'd need more information to back up your statement. Could someone confirm that code from one installed module can be inlined into another?
When optimisation is turned on, you have virtually no control over how much code GHC will copy from one module to another, which is why several people (me included) have expressed concerns about the use of an unmodified LGPL with Haskell code in the past. I believe at one stage we even asked for clarification from the FSF, but I don't recall getting an answer.
As for confirmation, try ghc --dump-iface on a .hi file, often you will see GHC Core in the .hi so that it can be inlined in modules importing it. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH