Mark Schreiber [EMAIL PROTECTED] writes:
I have a small quibble with the GPL on a point that seems that it
could be improved, unless, of course, my interpreation is incorrect.
The existing license seems to produce undesireable behavior in a
particular (admittedly, unusual) case.
You are horribly confused. I think you meant to send this to
[EMAIL PROTECTED] However...
Let us suppose that a company (Small Company) produces a software
package (Smart Writer). Small Company sells their software for years
under a closed-source license. Small Company hears about the value
that GPL-licensing their software provides, and decides to GPL
(v2)-license their software. Small Company produces several releases
of their Smart Writer. They do not use any code contributions from
the community.
Keep an eye on that last sentence: if they used no code contributions
from outside, the problem you mention below seems unlikely.
However...
Smart Writer is a very good package, and large chunks of code from it
are used in a stunning array of GPLed packages. RMS himself includes
ten thousand lines of code from Smart Writer in core code in his new
package (Fast Lisp Interpreter), interweaving it throughout Fast List
Interpreter's codebase.
Small Company is then purchased by a much, much larger company
(Macrosoft, Inc). This includes all current intellectual property
assets. Macrosoft wishes to prevent others from using its new IP
freely in GPLed software. It goes back, and discovers that one of
Small Company's developers included (in a version of Smart Writer
predating GPL release) twenty lines of code from a software package
that Small Company did not have a license to, and is not available
under a GPL-compatible license. Nobody in the GPL community has used
these twenty lines of code in their software.
It's questionable whether anybody can copyright twenty lines of
typical code. Sure, there are 20-line snippets that have creative
work, but that does seem a bit unlikely in a
tens-of-thousands-of-lines work. However...
Normally, this is not a problem -- a company may remove offending code
and do a re-release. However, Small Company no longer controls Smart
Writer. Macrosoft is in charge.
You are confused about several points. Here's the first one: Small
Company gave a license to use its copyrighted works to those who
received copies of Smart Writer (GPL Edition). If it couldn't have
granted a license to use part of that package, that's fine: the
license to the rest persists. So RMS and the users and distributors
of FLI are not affected by this.
Macrosoft asserts that because Small Company did not have ownership of
the full Smart Writer codebase, Clause 7 of the GPL applies
(prohibiting distribution under the GPL unless such distribution may
be done legally) to all releases of Smart Writer that Small Company
attempted to perform. Macrosoft thus claims that the Smart Writer
releases were never legally released under the GPL.
Macrosoft needs better lawyers: clause 7 does not apply to Small
Company, because they are the original authors. They don't *need* a
license to distribute or modify Smart Writer, because they hold the
copyright.
RMS asks Macrosoft to re-release a Smart Writer release with the
offending twenty lines of code removed. Macrosoft refuses, and says
that the GPL-using community must instead remove all instances of
Smart Writer code from all GPL software, or it will sue for copyright
infringement. In the meantime, the GPL-using community must cease
distribution of all software using Smart Writer code.
This sounds a lot like SCO's recent nonsense; perhaps they confused
you. Either way, this scenario is not plausible.
Even more disturbing, let us assume that RMS passes away from computer
monitor radition before he can finish excising the ten thousand lines
of Smart Writer code from his Fast Lisp Interpreter package. Since he
owns the Fast List Interpreter copyright, and has never done a legal
release of Fast List Interpreter, this package has never been GPLed.
His heirs refuse to GPL-license the Fast List Interpreter package.
Thus, Fast Lisp Interpreter is not GPLed.
Not quite: RMS had a license from Small Company to modify and
distribute all the code he used for FLI, so it's available to anyone
who has a copy under the GPL.
In the GPL v2, clause 6 states:
Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.
Perhaps clause 6 should specifically state that license(s) are granted
to all portions of a Program released under the GPL. This would mean
that even if the case of the GPL license applying to the Program being
shown to be invalid, any GPLable portion of the Program is still
available to anyone using source from that Program. This way, if
someone in