> I agree with legal here, that GPL-v2-CPE is an ugly beast and
> especially ugly, as Sun/Oracle decided not to go full GPL-v2-CPE, but
> partitial GPL-v2 (Tests and at least hotspot to my knowledge). The
> latter is its own can of worms.

Good point, Matthias.

I believe it actually explains why the license text says "certain files" - a 
statement that drives legal mad. It was expected that only some files from a 
wider GPL licensed JDK repository are going to be covered by CPE. Yes, HotSpot 
isn't CPE covered as - it was considered crown jewel and Sun wanted to avoid 
its code to be copied into .Net, V8, etc.

I agree that checking whether CPE applies can be problematic. The best 
approach I can envision is to copy some source code from the JDK repository, 
separate it into own repository and verify that all the GPL licensed files 
really carry the CPE header. Well, isn't that what nb-javac project did?

```bash
$ wget https://repo1.maven.org/maven2/com/dukescript/nbjavac/nb-javac/
15.0.0.2/nb-javac-15.0.0.2-sources.jar
$ unzip nb-javac-15.0.0.2-sources.jar
$ rm nb-javac-15.0.0.2-sources.jar
$ grep -r "GNU General Public License" . -l | wc -l
735
$ grep -r "GNU General Public License" . -l | while read X; do grep 
"Classpath.*exception as provided" $X >/dev/null || echo There is GPL but not 
CPE in $X; done
There is GPL but not CPE in ./LICENSE.txt
```

Great. There is 735 files with GPL header and all of them, except the license 
itself, carries the requested CPE header. Obviously the license stays the same 
and continues to be ready for a repository mixing GPLv2 and GPLv2-CPE , but 
all the hard work of separating the GPLv2-CPE files has already been done for 
us!

Is the overall simplicity the reason why we are seeking a problem when there 
is none? If we had to copy the `javac` files ourselves, filter them out one by 
one, clearly use only those that contains the CPE header, would that be more 
acceptable?

We have a repository (or source JAR file) which clearly contains only (certain) 
GPL files with CPE header. The "Classpath exception" applies to those certain 
files. As there are no other GPL files - the  "Classpath exception" is 
applicable to the result.

-jt




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to