Dalvik + Java licensing question

Posted by Andrew Bate on Programmers See other posts from Programmers or by Andrew Bate
Published on 2014-04-24T02:18:41Z Indexed on 2014/05/30 3:51 UTC
Read the original article Hit count: 213

Filed under:

This is a licensing question about the Dalvik and J2SE core libraries. In particular the license governing java.util.concurrent.SynchronousQueue.

The license header of the class in the JDK source states that it is GPLv2 only (see grepcode). However, the same file in the Dalvik core libraries seems to be governed by the Apache 2 license only (see android source).

How is this possible? I didn't think you could take GPLv2 source and re-license it as Apache 2.

(It's obvious they did: a comment above the Java Doc even says "removed link to collections framework docs"!)

I'm asking because I have a GPLv3 project and would like to include a derivative work of some source from the core libraries (either Dalvik or J2SE) but publish it under GPLv3. I thought I could do this with Apache 2, but not GPLv2.

I know that the J2SE class source is itself derivative work from public domain source, but the changes from the original are substantial. (The original is available at gee.cs.oswego.edu if you are interested.) Therefore the android source really is just a copy of the J2SE source, but published under Apache 2 instead of GPLv2. Is Google really allowed to do this?

© Programmers or respective owner

Related posts about java

Related posts about licensing