Want to raise awareness of this issue. IMO this is a blocker. mvn dependency:tree ... [INFO] ----------------< org.apache.hadoop:hadoop-ozone-tools >---------------- [INFO] Building Apache Hadoop Ozone Tools 0.4.0.7.1.1.0-SNAPSHOT [19/33] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] ... [INFO] +- org.openjdk.jmh:jmh-core:jar:1.19:compile [INFO] | +- net.sf.jopt-simple:jopt-simple:jar:4.6:compile [INFO] | \- org.apache.commons:commons-math3:jar:3.1.1:compile [INFO] +- org.openjdk.jmh:jmh-generator-annprocess:jar:1.19:compile ...
We can't use jmh because they are GPL 2 w/ Classpath Exception. https://www.apache.org/legal/resolved.html We also include jmh artifacts in test scope in other modules. Looking at how other projects deal with this situation, there are a few solutions to it: 1. Make a profile such that the jar is not included in the release / optional https://issues.apache.org/jira/browse/RYA-373 (Apache Rya) 2. Replace the GPL w/ Classpath Exception with something Apache licensed. https://issues.apache.org/jira/browse/LEGAL-396 (Apache Lucene) 3. It was also suggested to declare jmh in provided scope so we don't ship it. (not sure if this is possible. Does JDK runtime provide jmh?) https://issues.apache.org/jira/browse/LEGAL-399 Apache Calcite What should we do? Is there any way we can ship JMH? Otherwise I fear we would end up making an emergency release just to exclude it.