Apache legal team, Apache ORC had a benchmark module that linked against the GPL'ed library JMH. JHM is a micro-benchmarking framework that is tightly integrated into OpenJDK, but it is shipped separately through Maven Central. I removed the benchmark module from ORC, because my understanding was that any Java code that linked against a GPL'ed library had to be released under GPL. It looks like Apache Druid, Calcite, Hive, Log4j2, and Camel also have been using JMH for various benchmarking tasks.
Under what circumstances can we use JMH in an Apache project? .. Owen ---------- Forwarded message ---------- From: Julian Hyde <jh...@apache.org> Date: Mon, Apr 23, 2018 at 3:12 PM Subject: Re: Legal implications of using JMH To: dev@druid.apache.org, Owen O'Malley <omal...@apache.org> Cc: Slim Bouguerra <sbougue...@hortonworks.com>, Gian Merlino < g...@apache.org> We use JMH in Calcite for microbenchmarking. My understanding was that our use is OK. We are not linking it into the product; during tests, we link against JMH, run the test, then delete the executable. In addition to Calcite, it is used in Hive [1] Log4j2 [2], and Camel [3]. I think we should ask for a decision from Legal before changing anything. Julian [1] https://github.com/apache/hive/blob/master/itests/hive-jmh/pom.xml [2] https://github.com/apache/logging-log4j2/tree/master/ log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh [3] https://github.com/apache/camel/blob/master/tests/camel-jmh/pom.xml On Apr 23, 2018, at 2:48 PM, Owen Omalley <o...@hortonworks.com> wrote: The relevant page from Apache is: https://www.apache.org/licenses/GPL-compatibility.html and https://www.apache.org/legal/resolved.html#category-x GPL software can not be linked to from Apache projects at all. The problem is that the GPL is viral and you’d have to license the rest of the code under the GPL. .. Owen Begin forwarded message: From: Gian Merlino <g...@apache.org<mailto:g...@apache.org <g...@apache.org> >> Subject: Re: Legal implications of using JMH Date: April 23, 2018 at 2:14:31 PM PDT To: dev@druid.apache.org<mailto:dev@druid.apache.org <dev@druid.apache.org>> Reply-To: dev@druid.apache.org<mailto:dev@druid.apache.org <dev@druid.apache.org>> I'm not sure why the ORC folks decided this was necessary. I found these two links, - https://issues.apache.org/jira/browse/ORC-298 - https://lists.apache.org/thread.html/c27267a6a3df9b76c5e036fc181c86 5150639f4cf15ffc5cca27b690@%3Cdev.orc.apache.org<http:// 3cdev.orc.apache.org/>%3E It looks like they ended up moving the code to a different, non-Apache repository. The relevant Apache policy, I think, is: http://www.apache.org/ legal/resolved.html#optional. From what I've seen it comes up most often with MySQL drivers (which we also use). See also https://issues.apache.org/ jira/browse/LEGAL-200. It seems to me like JMH and MySQL are in the same boat. Both are optional dependencies -- there is no reason that a "normal" user needs to run druid-benchmarks. If this understanding is correct, then we should just make sure we aren't distributing JMH (or MySQL drivers) as part of binary releases. But I would be interested in understanding the thought process of the ORC folks in more detail. On Mon, Apr 23, 2018 at 1:44 PM, Roman Leventov <leventov...@gmail.com< mailto:leventov...@gmail.com <leventov...@gmail.com>>> wrote: See this: http://mail.openjdk.java.net/pipermail/jmh-dev/2018-April/002743.html JMH might be not welcome in an Apache-licensed project.