Subject: Mechanics of Contributing with a New License
From: David Barrett <>
Date: Sat, 23 Jul 2005 12:22:19 -0700

Chris Zumbrunn wrote:
 > On Jul 23, 2005, at 8:23 PM, David Barrett wrote:
 >> - At worst, a disgruntled developer could change every file (convert
 >> all tabs to spaces), call this a "contribution" and voila -- the
 >> entire codebase is irrevocably licensed under BSD.
 > No, no... that disgruntled developer's contribution would be only the
 > spaces, not the rest on those lines or inside the file.
 > So, only the spaces would be under BSD ;-)

Actually, you bring up a good point.  Given that each file is typically 
licensed as a whole, but modifications are done in part, if you submit 
changes under a new license, how is this represented?

For example, the OVPL is too long to copy verbatim into a header file. 
Thus there will need to be some kind of reference such as "This file is 
licensed under OVPL 1.0".  Anything can be contributed to the file under 
the same license without extra effort.  But in order to contribute a 
single line of code under a different license, it seems that you need to 
relicense the entire file:

- In the case of the BSD proposal, this line is replaced with the BSD 
text (is it copied verbatim, or done similarly with a reference?).

- In the case of my proposal, anyone who "opts out" of 3.3 would update 
this text to be something like "This file is licensed under OVPL' 1.0 -- 
The initial developer license does not extend to this file.", with 
"OVPL'" defined somewhere as OVPL without section 3.3.

In either case, it seems to me that because licensing is done on a 
whole-file basis, simply changing the license in effect changes the 
entire file and thus constitutes a "modification".

(And thus there's no reason to fool around with the space/tab conversion 
after all.)