jakarta-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject [BCEL] Potential licensing issue with GSoC contribution of Java 5 support
Date Sun, 02 May 2010 11:47:36 GMT
As you may be aware, Apache Tomcat is using a packaged renamed copy of
BCEL to implement the annotation scanning neccessary for the Servlet 3.0
implementation. As part of a recent release review, concerns were raised
over two files that originated in BCEL. [1], [2]

These files are CPL licensed and may not [3] be included in ASF releases
in source form.

I have managed to track down the Andy Clements listed as the original
author in the header of those files. By chance, he now works for the
company as me (SpringSource/VMWare).

As best I can tell, the history of the files is:
a) BCEL didn't support Java 5
b) AspectJ was using BCEL
c) AspectJ needed Java 5 support
d) Andy added Java 5 support to AspectJ's copy of BCEL in November 2004.
eg [5]
e) The 2006 GSoC student contacted Andy for advice on how to add Java 5
support to BCEL
f) Andy replied "Why bother? I've already done it" and never heard from
the student again
g) Java 5 support was added to BCEL

Comparing [1] and [5], apart from the package names, the files are byte
for byte identical. It therefore looks highly likely that the Java 5
implementation for BCEL was implemented, at least in part, by copying
the files from AspectJ.

I checked a small number of the other changes made as part of this GSoC
project. Some look OK (eg [6]) whereas some look suspicious - for
example by changing names of constants from those used in BCEL to match
those used in AspectJ [7].

I will enquire if Andy is a) in a position to be able to and b) willing
to license his AspectJ modifications for BCEL under the AL2 or any other
license [8] that would allow BCEL to continue to include these changes.

There is a reasonable degree of urgency about resolving this issue since
it is currently blocking the imminent Tomcat 7 release.

Mark


[1]
https://svn.apache.org/repos/asf/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/EnclosingMethod.java
[2]
https://svn.apache.org/repos/asf/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
[3] http://www.apache.org/legal/resolved.html#category-b
[4] http://svn.apache.org/viewvc?view=revision&revision=411580
[5]
http://dev.eclipse.org/viewcvs/index.cgi/org.aspectj/modules/bcel-builder/src/org/aspectj/apache/bcel/classfile/EnclosingMethod.java?revision=1.1&root=Tools_Project&view=markup
[6]
http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/RuntimeInvisibleAnnotations.java?r1=411580&r2=411579&pathrev=411580
[7]
http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/Constants.java?r1=411580&r2=411579&pathrev=411580
[8] http://www.apache.org/legal/resolved.html#category-a



Mime
View raw message