Neal Gafter neal at
Thu Jun 19 09:15:23 PDT 2008

On Wed, Jun 18, 2008 at 11:33 PM, Zdenek Tronicek <tronicek at> wrote:
> Hi Neal,
> I would like to ask you for one thing: if you plan any changes in syntax
> (e.g. -> instead of =>), do it now and not at the very end.
>> My understanding -- which may be incorrect -- is that you began work
>> on the Closures prototype before May 2007, using the javac code that
>> was GPL'd in November 2006 combined with some non-javac code (e.g.,
>> some existing java.lang classes) acquired under the JRL.  If this is
>> true then your modifications to the non-javac code are covered by the
>> JRL rather than GPLv2 even though the same non-javac code was later
>> made available under GPLv2.
> I must admit I do not understand the matter here. Is it a problem for you to
> say something like: "ok, I throw away all the old code and start now from
> the scratch... so all my code is based on code under GPLv2"? Or, this is not
> possible?

Sure, that would be possible if I had another month of vacation time
that I wanted to throw away.  But I don't.  I don't think it is
reasonable for Sun to assert any restrictions on my changes that are
not permitted by the underlying license to the modified GPLv2 code.
Moreover, the OpenJDK Innovators Grant rules require that I contribute
the code to the openjdk through prevailing processes; Mark's
suggestion has Sun contributing the code.

As far as I can tell, the only changes that fall into the category
that Mark is expressing concern about are the addition of some
"extends" clauses in interfaces like java.lang.Comparable,
java.lang.Iterable, and java.lang.Runnable. I fail to see how applying
those changes to the GPLv2 code and releasing them under GPLv2 can be
construed as an infringement of Sun's copyrights, as the underlying
code has been licensed to me under GPLv2.  If I redo those changes
from scratch the result would be bit-for-bit identical to what I have

More information about the closures-dev mailing list