On Tue, Dec 8, 2009 at 5:13 PM, Robert Greayer <robgreayer@gmail.com> wrote:

The crux here is that the source code of hakyll, released on hackage, is not a derivative of Pandoc (it contains, as far as I understand it, no Pandoc source code).  A compiled executable *is* a derivative of Pandoc, so anyone who *distributes* a compiled executable would need to make *all* the source available under the GPL (including the hakyll source).  Since the hakyll package is released under BSD3, this would be allowed (AIUI, IANAL).

Not to belabor the point (I hope), but consider the following situation -- if the current version of Pandoc, 1.2.1, were released under BSD3, not GPL, it would be obvious that the current version of hakyll could be released as BSD3 as well.  After said hakyll release, the Pandoc maintainer would be perfectly within his rights to release an API compatible 1.2.2 version of Pandoc, this time licensed under the GPL.  People installing hakyll with cabal might now be building a version of hakyll containing both GPL and BSD3 code.  This is not under either author's control, and is perfectly allowable.  If the person downloading chooses to redistribute the hakyll executable he's built, he must be aware of and comply with his responsibilities under the GPL, but those would be his responsibilities, not those of the original author of hakyll.  (AIUI -- IANAL).

(If hakyll had been released under a GPL-incompatible license -- EPL, for example -- then the person downloading hakyll and building the executable could *not* distribute the executable he built.  He could use it for his own purposes, but not distribute it.  This is the implication of GPL incompatibility.  As I Understand It.)