[Haskell-cafe] Re: GPL answers from the SFLC (WAS: Re: ANN: hakyll-0.1)

Achim Schneider barsoap at web.de
Fri Mar 5 09:08:33 EST 2010

David Leimbach <leimy2k at gmail.com> wrote:

> Yes the author can privately license code to himself under any
> license he wants, but when he distributes code based on GPL'd code,
> it has to be GPL'd. That's why people hate this license, or love this
> license.  For all the freedom it talks about it's awfully restrictive.
It has to be lincensed under GPL, but GPL doesn't have to be the only

Consider, for example, releasing an app that depends on readline (GPL)
under GPL/BSD: People may use+distribute it under GPL, they may hack it
to remove the readline dependency and use and distribute it under
either GPL, BSD, or both, or someone could come along and re-implement
readline (guess what has happened) and everybody will be able to choose
between GPL, BSD, or both, again.

The GPL is viral, but it doesn't (and can't) prevent you from releasing
_your_ code under -- additionally -- any bleeding license you wish[1].

It could also be argued that, as BSD explicitely allows re-lincensing,
that any grant of a BSD-license implies a dual-license under GPL, as
everyone and everybody can just re-license the code as such. BSD also
does not claim that the lincensed code is not allowed to be used under
GPL, and it does not guarantee FITNESS FOR ANY PURPOSE, which includes,
but is not limited to, being distributable under violation of GPL.

This, admittedly, isn't a bullet-proof argument. I'd be surpised,
though, if any court would see _intent_ of closing up GPL'ed code if
you release it under terms _that allow, but not by themselves enforce,_
GPL distribution.

However, (apart from IANAL and whether or not above argument holds), not
mentioning that your code depends on GPL and thus can't be distributed
in violation of it is clearly a mean, aweful breach of the principle of
least surprise and is therefore to be fought with any static means we
have at our disposal:

% cabal sdist
foo.cabal: Error: Depends on a GPL library but only mentions "BSD3"
as license. Either change License: to include GPL or remove the
offending dependency.

Please, please don't make this a mere warning. It's easy and
painless enough to fix and will result in way less confusion about what
terms some random piece of hackage code can be used under.

[1] I strongly advice dual-licensing any BSD code under the Beer
    License, regardless of GPL involvement.

(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.

More information about the Haskell-Cafe mailing list