sigh -- to the list this time.


On Wed, Dec 9, 2009 at 9:16 AM, Tom Tobin <korpios@korpios.com> wrote:
On Wed, Dec 9, 2009 at 4:59 AM, Ketil Malde <ketil@malde.org> wrote:
> Tom Tobin <korpios@korpios.com> writes:
>> If it turns out that Hakyll *is* okay to be BSD3 licensed so
>> long as neither any binary nor the GPL'd work's source is distributed
>> under non-GPL terms, well ... I'll say that the meaning of "BSD
>> licensed" will have become much less reliable, since it means you
>> actually have to trace the genealogy of the libraries you use *all*
>> the way back in order to understand the situation for certain.
>
> How so?  To me it's the exact converse: if the author of Hakyll may
> *not* distribute his work under the BSD license, just because it is
> intended to be linked with some GPL code, this complicates issues
> tremendously.

For instance, it would mean that businesses which may be writing
proprietary software can't assume they can freely use a liberally
licensed (e.g., BSD3) library — which would *completely* go against
the prevailing understanding of liberally licensed software.  Tainting
your software with a GPL dependency without realizing it is a
terrifying prospect (and certainly one of the questions I'd now like
to pose to the SFLC).
 
I don't think I follow your reasoning here:  certainly, a business can use, freely, the Hakyll library (meaning that they can redistribute, in binary form, their executable built with it, without distributing the Hakyll source or their own source).  They cannot freely use the Pandoc library in the same way, because it is GPL.  Since the Hakyll library depends on the Pandoc library, they will of course have some trouble with *building* an executable that contains Hakyll but not Pandoc.  Both there's no hidden dependency, no 'tainting' of Hakyll involved.  There is a danger, of course, that when installing Hakyll (via cabal) the user won't realize they've also installed Pandoc, even though the dependency is clearly specified.  The lesson here is that someone packaging an executable for distribution has to be aware of everything they are building into it.  It's possible to make a mistake here, if one is not careful.  But it doesn't require much diligence to get it right (if you use cabal to build your executable, you have to specify your dependencies.  Check the licensing terms of each, and comply).