Hi,

I aggree with the assessment. There are two .java files without CPE
header (in fact without any license header):

make/langtools/netbeans/nb-javac/test/com/sun/tools/javac/parser/DocCommentParserTest.java

Test only, so I would not expect it in the final jar

src/jdk.compiler/share/classes/com/sun/tools/javac/resources/LauncherProperties.java

As Neil already pointed out, this needs fixing (though I don't think this is 
critical).


It is regrettable, that Oracle still does not manage to declare a clear
and unambiguous license. It was claimed, that Oracle would need to
invent a new license to make this clear. This is untrue. The orginal
GNU Classpath license:

https://www.gnu.org/software/classpath/license.html

is identical to the Oracle version, BUT it does not have the
"uncertainty" element. Oracle decided to add the "Certain source files
distributed ..." paragraph, which make the license from my POV
problematic as it puts the uncertainty onto the user and not the
copyrightholder.


In the future I wonder whether each nb-javac release will need to be
vetted like this, because a big tech company does not manage to get its
license story straigt. This also raises the question whether the build
is reproducible and whether it is ok, that there is no direct
connection between the binary artifact ant the source artifact.

Greetings

Matthias


Am Sonntag, dem 16.05.2021 um 11:12 +0200 schrieb Jaroslav Tulach:
> Hello guys,
> let's continue the tradition of manual inspection of nb-javac sources[1][2].
> 
> NetBeans project downloads both nb-javac JAR files from Maven central - the 
> standard Java way of distributing, using and archiving Java libraries/
> artifacts. Essential part of that system is `pom.xml` file with a mandatory 
> `<license>` element. In case of nb-javac@16.0.0.0 it says:
> https://search.maven.org/artifact/com.dukescript.nbjavac/nb-javac/16.0.0.0/jar
> "Licenses: GPLv2-CPE". As that license comes directly from the Oracle's nb-
> javac project:
> https://github.com/oracle/nb-javac/blob/release124/make/langtools/netbeans/nb-javac/pom-nb-javac.xml#L18
> and the intention of that element is to state the license of the uploaded 
> Maven central artifacts, it is natural for a Java developer to conclude that 
> "nb-javac (as uploaded to Maven central) is fully licensed under GPLv2-CPE".
> 
> In addition to the above evidence, let's do a manual verification:
> 
> ```bash
> $ wget https://repo1.maven.org/maven2/com/dukescript/nbjavac/nb-javac/
> 16.0.0.0/nb-javac-16.0.0.0-sources.jar
> $ unzip nb-javac-16.0.0.0-sources.jar
> $ rm nb-javac-16.0.0.0-sources.jar
> ```
> now one can build the two nb-javac JARs successfully with:
> ```bash
> $ JAVA_HOME=/jdk-8/ ant -f ./make/langtools/netbeans/nb-javac/build.xml
> ```
> but let's rather inspect the sources:
> ```bash
> $ grep -r "GNU General Public License" . -l | wc -l
> 747
> $ grep -r "GNU General Public License" . -l | while read X; do  grep 
> Classpath.*exception "$X" ||  echo Missing $X; done | grep Missing
> Missing ./LICENSE.txt
> Missing ./src/jdk.jdeps/share/man/jdeprscan.1
> Missing ./src/jdk.jdeps/share/man/jdeps.1
> Missing ./src/jdk.jdeps/share/man/javap.1
> Missing ./src/jdk.compiler/share/man/serialver.1
> Missing ./src/jdk.compiler/share/man/javac.1
> ```
> e.g. there is 747 files that contain "GPL" header and all of them but license 
> and manual pages (not used in the nb-javac JARs) contain the "Classpath 
> exception" header.
> 
> The manual inspection confirms that Maven central licensing information at
> https://search.maven.org/artifact/com.dukescript.nbjavac/nb-javac/16.0.0.0/jar
> is correct and both nb-javac@16.0.0.0 binary JAR files are covered by 
> GPLv2-CPE 
> license.
> 
> Thanks in advance for checking my conclusion.
> -jt
> 
> 
> [1] https://lists.apache.org/thread.html/
> r821d9e9fdc8d9fd5663e7c326d25e4626e1a27eb13e45f4d639ea199%40%3Cdev.netbeans.apache.org%3E
> 
> [2] https://lists.apache.org/thread.html/
> rb5d091662f88dafb2fd878a0acc5e5bdb80ddfb17b47bfbff248b4d7%40%3Cdev.netbeans.apache.org%3E
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
> For additional commands, e-mail: dev-h...@netbeans.apache.org
> 
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org

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



Reply via email to