[Haskell-cafe] LGPL and Haskell (Was: Re: ANNOUNCE: tie-knot library)

Petr P petr.mvd at gmail.com
Wed Dec 12 10:06:23 CET 2012


2012/12/12 David Thomas <davidleothomas at 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.).
 <http://www.haskell.org/pipermail/haskell-cafe/2007-March/023158.html>
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/UxbLtvsection "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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121212/e4935042/attachment.htm>


More information about the Haskell-Cafe mailing list