You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@druid.apache.org by Roman Leventov <le...@gmail.com> on 2018/04/23 20:44:54 UTC

Legal implications of using JMH

See this:
http://mail.openjdk.java.net/pipermail/jmh-dev/2018-April/002743.html JMH
might be not welcome in an Apache-licensed project.

Re: Legal implications of using JMH

Posted by Julian Hyde <jh...@apache.org>.
I agree with Gian. 

Calcite uses JMH. We don’t distribute the binaries it produces — because we only need them for running benchmarks. 

It’s not an identical situation to MySQL because while there are other implementations of JDBC — e.g. Postgres — there is only one implementation of JMH. But JMH is only used during testing, not production.

So, let’s not do anything rash, like starting to remove code. I think we will have clarity in a few days as various folks in Apache react to what Owen has done. We can revisit this as part of the first Druid release.

Julian


> On Apr 23, 2018, at 2:14 PM, Gian Merlino <gi...@apache.org> wrote:
> 
> 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%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 <le...@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.
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@druid.apache.org
For additional commands, e-mail: dev-help@druid.apache.org


Fwd: Legal implications of using JMH

Posted by Owen O'Malley <ow...@gmail.com>.
---------- Forwarded message ----------
From: Owen O'Malley <ow...@gmail.com>
Date: Wed, Apr 25, 2018 at 11:00 AM
Subject: Re: Legal implications of using JMH
To: legal-discuss@apache.org


Ok, my interpretation is that our benchmark modules are an "optional
feature" since they aren't intended for end user use. They are intended for
developers to test the system.

That said, at least for ORC, I intend to take the additional steps:

* Remove the benchmark module from the top-level build scripts. This will
ensure that it is only built explicitly by the developer.
* Not publish the binaries from the benchmark module to Maven Central or as
convenience binaries.

Any concerns?

.. Owen


On Mon, Apr 23, 2018 at 5:10 PM, Justin Mclean <ju...@classsoftware.com>
wrote:

> Hi,
>
>  For interest original JIRA [1] see also [2] and [3] might be helpful.
>
> Thanks,
> Justin
>
> 1. https://issues.apache.org/jira/browse/LEGAL-54
> 2. https://issues.apache.org/jira/browse/LEGAL-280
> 3. https://issues.apache.org/jira/browse/LEGAL-173
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
>
>

Re: Legal implications of using JMH

Posted by Owen O'Malley <ow...@gmail.com>.
Ok, my interpretation is that our benchmark modules are an "optional
feature" since they aren't intended for end user use. They are intended for
developers to test the system.

That said, at least for ORC, I intend to take the additional steps:

* Remove the benchmark module from the top-level build scripts. This will
ensure that it is only built explicitly by the developer.
* Not publish the binaries from the benchmark module to Maven Central or as
convenience binaries.

Any concerns?

.. Owen


On Mon, Apr 23, 2018 at 5:10 PM, Justin Mclean <ju...@classsoftware.com>
wrote:

> Hi,
>
>  For interest original JIRA [1] see also [2] and [3] might be helpful.
>
> Thanks,
> Justin
>
> 1. https://issues.apache.org/jira/browse/LEGAL-54
> 2. https://issues.apache.org/jira/browse/LEGAL-280
> 3. https://issues.apache.org/jira/browse/LEGAL-173
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
>
>

Re: Legal implications of using JMH

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

 For interest original JIRA [1] see also [2] and [3] might be helpful.

Thanks,
Justin

1. https://issues.apache.org/jira/browse/LEGAL-54
2. https://issues.apache.org/jira/browse/LEGAL-280
3. https://issues.apache.org/jira/browse/LEGAL-173

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Re: Legal implications of using JMH

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

INAL or part of the Apace legal PMC hut it would seem to me that not all users of the software would need to use it so it could be considered an optional dependancy. [1] just as long as it was not included in any ASF distribution [2] and users made clear of the implications if they do use it.

Thanks,
Justin

1. https://www.apache.org/legal/resolved.html#optional
2. https://www.apache.org/legal/resolved.html#prohibited
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Fwd: Legal implications of using JMH

Posted by Owen O'Malley <ow...@gmail.com>.
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 <om...@apache.org>
Cc: Slim Bouguerra <sb...@hortonworks.com>, Gian Merlino <
gian@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 <ow...@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 <gian@apache.org<mailto:gian@apache.org <gi...@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 <de...@druid.apache.org>>
Reply-To: dev@druid.apache.org<mailto:dev@druid.apache.org
<de...@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.ru@gmail.com<
mailto:leventov.ru@gmail.com <le...@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.

Fwd: Legal implications of using JMH

Posted by Owen O'Malley <ow...@gmail.com>.
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 <om...@apache.org>
Cc: Slim Bouguerra <sb...@hortonworks.com>, Gian Merlino <
gian@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 <ow...@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 <gian@apache.org<mailto:gian@apache.org <gi...@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 <de...@druid.apache.org>>
Reply-To: dev@druid.apache.org<mailto:dev@druid.apache.org
<de...@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.ru@gmail.com<
mailto:leventov.ru@gmail.com <le...@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.

Re: Legal implications of using JMH

Posted by Julian Hyde <jh...@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 <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 <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 <https://github.com/apache/camel/blob/master/tests/camel-jmh/pom.xml>

> On Apr 23, 2018, at 2:48 PM, Owen Omalley <ow...@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 <gi...@apache.org>>
> Subject: Re: Legal implications of using JMH
> Date: April 23, 2018 at 2:14:31 PM PDT
> To: dev@druid.apache.org<ma...@druid.apache.org>
> Reply-To: dev@druid.apache.org<ma...@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 <le...@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.
> 
> 
> 


Re: Legal implications of using JMH

Posted by Owen Omalley <ow...@hortonworks.com>.
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 <gi...@apache.org>>
Subject: Re: Legal implications of using JMH
Date: April 23, 2018 at 2:14:31 PM PDT
To: dev@druid.apache.org<ma...@druid.apache.org>
Reply-To: dev@druid.apache.org<ma...@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 <le...@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.




Re: Legal implications of using JMH

Posted by Gian Merlino <gi...@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%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 <le...@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.
>