Subject: Re: Viral permissiveness
From: Chuck Swiger <chuck@codefab.com>
Date: Tue, 20 Jan 2009 11:09:05 -0800

On Jan 20, 2009, at 10:49 AM, Matthew Flaschen wrote:
>> Consider the following scenario:
>>
>>  (1) I make my code available under some open source license.
>>  (2) After a chain of 1+ verbatim copies and/or derivations, the code
>> (or derivative work thereof) ends up in the possession of a certain  
>> Mr
>> Takesallsorts.
>>  (3) Mr Takesallsorts creates a derivative work from the code he  
>> obtained.
>>  (4) Mr Takesallsorts licenses copies of his derivative work
>> exclusively under GPL.
>>
>>  After (4), companies can :
>>  (5) Create a derivative work of Mr Takesallsorts's code
>>  but cannot then :
>>  (6) Sell binaries of this derivative work without making the  
>> source available.
>>
>> Does a license already exist that, for any such chain as in (2),  
>> would
>> preclude step (4) whilst allowing (5) and (6) in the event that Mr
>> Takesallsorts chooses to distribute his derivative work ?
>
> If I understand correctly (please, tell me if not), you /don't/ want
> Takesallsorts to be able to license the "work as a whole" (in GPL
> jargon) under GPL, unless he /also/ dual-licenses his changes under  
> your
> permissive license.
>
> You /do/ want derivative works of Takesallsorts' work a whole to be
> allowed.  And you don't want recipients of those derivative works to  
> be
> guaranteed the ability to request source.
>
> I don't know any such license, nor am I confident one is possible.   
> The
> tricky parts are:
>
> a. You want to allow GPL derivative works, but only if the changes are
> dual-licensed.
> b. You don't want recipients of GPL derivative works to be able to
> request source.

The understanding I got was that he wants to only permit derivative  
works under the terms of his permissive license, and that Steve does  
not want people to be able to license derivative works under the terms  
of the GPL.  The old BSD-style license with the advertising clause  
would serve, as that is permissive but not GPL-miscible.  A better way  
of obtaining that result would be to modify the "2-clause BSD", MIT,  
or ISC licenses with an extra clause which explicitly forbids anyone  
from re-licensing the work or any derivatives of the work under a  
different license.

   http://www.fsf.org/licensing/licenses/index_html#GPLIncompatibleLicenses

(The Apache v1.1 or Academic Free License v3 might also be reasonable  
starting points.)

The downside to this approach is that while someone could mix such  
code with GPL'ed code for their own use, they could not (re)distribute  
that combination to others.

Regards,
-- 
-Chuck