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