You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jakarta.apache.org by Mark Thomas <ma...@apache.org> on 2010/05/02 13:47:36 UTC

[BCEL] Potential licensing issue with GSoC contribution of Java 5 support

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



Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Mark Thomas <ma...@apache.org>.
On 06/05/2010 16:34, Rahul Akolkar wrote:
> On Thu, May 6, 2010 at 11:25 AM, Kevan Miller<ke...@gmail.com>  wrote:
>>
>> On May 3, 2010, at 5:30 PM, Mark Thomas wrote:
>>>
>>> Kevan works for IBM and has offered to help out in resolving this issue.
>>> I think it is time for me to pass the baton on this one to Kevan.
>>
>> I've created Bug 49259 and attached AL2 licensed versions of the problematic files.
>>
>> As Mark has noted, I work for IBM. The 1.1 versions of these files were committed to the Eclipse AspectJ project by Andy Clement while he was an IBM employee. Since IBM is the copyright holder for the 1.1 version of these files, I am relicensing them under AL2.
>>
>> Let me know if you have any questions.
>>
> <snip/>
>
> Thanks Kevan. If none of the BCEL devs commit the attached versions in
> a few days, I will do so.

Many, many thanks Kevan. I am amazed at how quickly you were able to get 
this sorted. Please pass on my heartfelt thanks to all those at IBM that 
helped you resolve this so quickly.

I will commit those files - with an appropriately long commit message - 
later this evening with the port to Tomcat 7 following shortly thereafter.

Thanks again,

Mark

Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Rahul Akolkar <ra...@gmail.com>.
On Thu, May 6, 2010 at 11:25 AM, Kevan Miller <ke...@gmail.com> wrote:
>
> On May 3, 2010, at 5:30 PM, Mark Thomas wrote:
>>
>> Kevan works for IBM and has offered to help out in resolving this issue.
>> I think it is time for me to pass the baton on this one to Kevan.
>
> I've created Bug 49259 and attached AL2 licensed versions of the problematic files.
>
> As Mark has noted, I work for IBM. The 1.1 versions of these files were committed to the Eclipse AspectJ project by Andy Clement while he was an IBM employee. Since IBM is the copyright holder for the 1.1 version of these files, I am relicensing them under AL2.
>
> Let me know if you have any questions.
>
<snip/>

Thanks Kevan. If none of the BCEL devs commit the attached versions in
a few days, I will do so.

-Rahul


> --kevan

Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Kevan Miller <ke...@gmail.com>.
On May 3, 2010, at 5:30 PM, Mark Thomas wrote:

> 
> Kevan works for IBM and has offered to help out in resolving this issue.
> I think it is time for me to pass the baton on this one to Kevan.

I've created Bug 49259 and attached AL2 licensed versions of the problematic files. 

As Mark has noted, I work for IBM. The 1.1 versions of these files were committed to the Eclipse AspectJ project by Andy Clement while he was an IBM employee. Since IBM is the copyright holder for the 1.1 version of these files, I am relicensing them under AL2.

Let me know if you have any questions. 

--kevan

Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Mark Thomas <ma...@apache.org>.
On 03/05/2010 12:38, Kevan Miller wrote:
> 
> On May 3, 2010, at 3:42 AM, Torsten Curdt wrote:
> 
>>>> 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
>>
>> Bah! I've explicitly told the student that copying code is not acceptable.
>> Thanks for catching this. (How did you?)
> 
> The source code in question is CPL licensed. The student (properly) left the file under the CPL license. So, the source files do not contain an Apache source license header.
> 
> A Geronimo release review flagged the files as a potential problem. Once we identified the licensing issue, the source was backtracked from Geronimo to Tomcat and then to BCEL...

Good news. Bad news.

I have spoken to Andy Clements (the original author) and he is willing
to re-license to the AL v2. Unfortunately, when he wrote the BCEL
changes that were incorporated into AspectJ he was working for IBM and
IBM owns the copyright. Andy no longer works for IBM.

The options before BCEL can do another release are:
- approach IBM and ask then to agree to re-license Andy's work on BCEL
to the ALv2
- review the GSoC contribution and revert anything copied from AspectJ
and then re-implement the msising pieces
- something else?

Kevan works for IBM and has offered to help out in resolving this issue.
I think it is time for me to pass the baton on this one to Kevan.

I'll lurk on the Jakarta dev and pmc lists until this is resolved but
I'm not expecting to take much of an active role at this point.

Mark



Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Kevan Miller <ke...@gmail.com>.
On May 3, 2010, at 3:42 AM, Torsten Curdt wrote:

>>> 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
> 
> Bah! I've explicitly told the student that copying code is not acceptable.
> Thanks for catching this. (How did you?)

The source code in question is CPL licensed. The student (properly) left the file under the CPL license. So, the source files do not contain an Apache source license header.

A Geronimo release review flagged the files as a potential problem. Once we identified the licensing issue, the source was backtracked from Geronimo to Tomcat and then to BCEL...

--kevan

Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Torsten Curdt <tc...@apache.org>.
>> 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

Bah! I've explicitly told the student that copying code is not acceptable.
Thanks for catching this. (How did you?)

I hope Andy can work something out.

cheers
--
Torsten

Re: [BCEL] Potential licensing issue with GSoC contribution of Java 5 support

Posted by Rahul Akolkar <ra...@gmail.com>.
On Sun, May 2, 2010 at 7:47 AM, Mark Thomas <ma...@apache.org> wrote:
> 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.
>
<snip/>

That'd be great. Thanks for looking into this.

-Rahul


> 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
>
>
>