Subject: Re: Another dumb GPL question
From: Frank Hecker <frank@collab.net>
Date: Wed, 06 Jun 2001 22:26:43 -0400

Al Davis wrote:
> Suppose a company wants to develop a proprietary, close source
> product and uses the following method of developing it:
> 
> Start with a GPL program.
> 
> Modify it.
> 
> Continue modifying it until no original code remains.  Perhaps
> through hundreds of modifications.
> 
> Done.
> 
> The question ....  At what point does GPL no longer apply?

This is an interesting question, and IMO it depends on what you mean by
the GPL "applying".

Using Stephen Turnbull's argument, if a program A(0) is licensed under
GPL terms, and A(i+1) is a program created by modifying program A(i)
(i.e., A(i+1) would be considered a derivative work of A(i)), then A(n)
must be distributed under GPL terms, for any n > 0.

However IMO that does _not_ mean that the code in A(n) must be
distributed _only_ under GPL terms. In other words, there may be some n
for which some or even all of the code in A(n) could be distributed
under proprietary terms (or in general, non-GPL terms) in addition to
being distributed under GPL terms.

As Kyle Sparger points out, any new code added to the program (say, by
your hypothetical company) could be dual-licensed under both a
proprietary license and under the GPL. Then any such new code could be
used in a proprietary program, as well as being used in programs
distributed under GPL terms. The same effect could be achieved if new
code added were under a non-copyleft GPL-compatible free software
license. For example, your hypothetical company could license its new
added code under the MIT X license.

If all new code is licensed in this way, and if over time all of the
lines of original code were deleted, then at some point all the code in
the program would be dual licensed under the GPL and the proprietary
license. (Or alternatively, it could all be licensed under a
non-copyleft GPL-compatible free software license.)

> I am not considering doing this.  I want the answer to be "GPL always
> applies", but have some concern that it doesn't.

You didn't state your exact concern. I believe that the GPL guarantees
that your program will always be available in some form under GPL terms,
no matter how much it is modified over time. However IMO the GPL does
_not_ guarantee that new code added to your program can't also be used
in proprietary programs.

I think the lesson here is that if you want to minimize the chances that
the code in a program can be used to create non-free software, then it's
not enough just to release an initial version of the program under the
GPL and walk away. You and/or others have to make the commitment to make
contributions to the program over time, and license that new contributed
code under the GPL, and only the GPL.

Frank
-- 
Frank Hecker            work: http://www.collab.net/
frank@collab.net        home: http://www.hecker.org/