[Haskell-cafe] GPL License of H-Matrix and prelude numeric

Maciej Piechotka uzytkownik2 at gmail.com
Fri Jan 28 13:25:58 CET 2011

On Thu, 2011-01-27 at 19:36 -0500, wren ng thornton wrote:
> On 1/27/11 2:21 PM, Maciej Piechotka wrote:
> > On Thu, 2011-01-27 at 00:45 -0500, wren ng thornton wrote:
> >> On 1/26/11 5:51 AM, Maciej Piechotka wrote:
> >>> Some projects (like Linux) remove this clause and I'm not sure how many
> >>> projects are marked on hackage as GPL2 being GPL2-only.
> >>
> >> Technically GPLx and GPLy are incompatible for all x and y such that x
> >> /= y.The problem is that *technically* the phrasing of the viral clause
> >> prohibits dual licensing, despite the obvious intention.
> >
> > Could you elaborate? I cannot see any problem why author, having all
> > rights, cannot publish code under GPL-2 and MPL. Sure GPL-2 allows
> > someone to fork it into single-licence fork.
> IANAL, but that is the synopsis that was given to me by and old friend 
> who was. ISTR that the FSF may have a page on the matter too (circa "how 
> to upgrade to GPL3" pages), though I'm loo lazy to look for it now.
> The problem is in the exact wording of how the viral clause is phrased, 
> which is somewhat at odds with the intention. Basically, if you license 
> your work under GPL2, and someone else wants to use it in a derivative 
> work, then they must distribute the composite work under GPL2. All well 
> and good, since this is the intention of the viral clause. However, 
> copyright law doesn't have any built-in notion of "versioning". So if 
> you distribute your work as GPL2 and someone does some derivative work 
> that they want to distribute as GPL3, then technically they must 
> distribute the composite work under the *joint* license (GPL2 && GPL3); 
> however, since parts of the GPL3 were specifically written as "bugfixes" 
> to the GPL2, this means the joint license is inconsistent and so noone 
> can simultaneously adhere to both of them, so the composite work cannot 
> be (non-vacuously) distributed.
> Conversely, if your work was distributed as GPL2+ then you are providing 
> a disjunction of licenses for users to choose from. The person making 
> their derivative work would be free to choose the GPL3 (or GPL3+) 
> license(s) for their use of your work, and this is clearly compatible 
> with their own GPL3 (or GPL3+) license, so the composite work can be 
> released under GPL3 && GPL3 == GPL3 (or GPL3+ && GPL3+ == GPL3+, or 
> GPL3+ && GPL3 == GPL3,...)
> If you're familiar with linear logic, this is basically the same kind of 
> differentiation between multiplicative and additive conjunction.

Sorry - I misunderstood you. Dual licensing corresponds in my mind to ||
not &&. I.e. program dual-licensed on MPL and GPL-2 is (MPL || GPL-2)
and user can choose to which license he wants to adhere. I believe
similar nomenclature is used on Wikipedia.

The problem you are describing corresponds to compatibility and, of
course, GPL-2 and GPL-3 are not compatible (I believe that GPL-2+ &&
GPL-3+ == GPL-3+).

> > I'm not sure about the interpretation (and IANAL) but I'm not entirely
> > sure if GPLx+ and GPLx-only are compatible at all.
> If one project is released under "GPL version x (or, at your option, any 
> later version)" and the other is released under "GPL version x" (only), 
> then the composite work can satisfy both by being released under "GPL 
> version x" (only), since they have the option to choose "GPL version x" 
> as their license for the first project.
> It's only a problem when x-only is not in the range of y+.

Sorry - my concerns were unbased. I reread licences and found answer in
point 9 (GPL-2) and 14 (GPL-3). 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110128/3a8961f7/attachment.pgp>

More information about the Haskell-Cafe mailing list