2012/12/12 David Thomas <davidleothomas@gmail.com>
IANAL, but reviewing what others have written, it sounds like it may be possible to maintain *some* distinction between LGPL and GPL in Haskell, but it's a different distinction than with an LGPL shared library, so even if applicable it's certainly worth being aware of.

It sounds (and I'd very much like clarification) like providing source of an application to users *without* license to redistribute, which can be built using an LGPL library, would be compliant - whereas if the library was GPL this would not be the case?

As I understand it, this is one of the main differences: Using GPL-ed library forces the entire Combined Work to be GPL-ed (requiring to release the source codes), while using LGPL-ed library forces only the possibility to re-link with another version of it - you can distribute your own sources to users with whatever license you like (unless it's a modification of the library, of course). This could be an interesting question for FSF.


Thanks to all for valuable comments. I didn't want to start a discussion about (L)GPL vs others, but since that already happened, let me give my opinion:

First, LGPL  has been discussed already: http://www.haskell.org/pipermail/haskell-cafe/2007-March/023158.html

The problem with LGPL is that it is apparently tailored to languages that strongly rely on dynamic linking. TBH I wasn't aware of this before. One solution (taken by wxWidgets for example) is to modify LGPL so that they explicitly allow distributing the software without the re-linking requirement (which grants a little less rights to end users). I tried asking that on StackExchange: "Is there a modified LGPL license that allows static linking?" <http://programmers.stackexchange.com/q/179084/61231>
Anther solution would be to focus on improvements of dynamic linking. Some links I found:
http://hackage.haskell.org/trac/ghc/wiki/SharedLibraries/PlatformSupport
Haskell Static vs Dynamic Linking in Deployment <http://stackoverflow.com/q/7854614/1333025>
Small Haskell program compiled with GHC into huge binary <http://stackoverflow.com/q/6115459>
Yet another solution would be what David Thomas suggest: To provide the source code to your users, but don't allow them to use the code for anything but relinking the program with a different version of the library (no distribution, no modification etc.).

Second, it's my wish to use (L)GPL for FOSS programs I write. My opinion has varied for many years, but in recent years I strongly incline to GPL-like licenses. We all know that GPL-like licenses make life more complicated for us programmers. Programmers want to use libraries with as little restrictions as possible. The main reason for me for choosing (L)GPL despite the complications is the protection and rights it gives to the *users* of a program. Sadly, no users are actually aware of  this and what they could gain by choosing GPL-ed programs (let me know if you find a non-programmer who is aware of GPL's benefits). Just imagine if Facebook had to use AGPL, or if your mobile phone software would be all GPL. (Knowing what a program does with your data is becoming more important, like the US intelligence report suggests: http://reut.rs/UxbLtv section "Technology ..").

The other reason for me that GPL-like licenses give an advantage to FOSS developers over private companies. I feel this is fair - anybody who develops something that can be used by everyone deserves an advantage.

Another thing to consider is the aspect of adoption/marketing strategy. Using a more permissive license can make adoption of a piece of software much faster. This can be desirable in some cases, like if the OS community wants to prevent the adoption of proprietary standards (like Vorbis VS MP3). Or in the case of Haskell, to motivate private companies to use it. Richard Stallman himself recommends this in some cases http://lwn.net/2001/0301/a/rms-ov-license.php3
But if a project is strong enough, using (L)GPL can actually strengthen it, like in the case of Linux VS NetBSD: http://www.dwheeler.com/blog/2006/09/01/#gpl-bsd
To quote: "So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain every time a company gets involved."

Of course I respect other opinions in that matter, every author is free to use whatever licence (s)he likes. After all, FOSS is about freedom. The important thing to know is what advantages and drawbacks each license has and what are the consequences of using them.

  Best regards,
  Petr