You are viewing a plain text version of this content. The canonical link for it is here.
Posted to legal-discuss@apache.org by "Henri Yandell (JIRA)" <ji...@apache.org> on 2018/08/11 05:35:00 UTC

[jira] [Commented] (LEGAL-399) Is writing tests based on JMH (Java Microbenchmark Harness) a derivative work on top of JMH?

    [ https://issues.apache.org/jira/browse/LEGAL-399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16577058#comment-16577058 ] 

Henri Yandell commented on LEGAL-399:
-------------------------------------

Noting that the license of JMH appears to be GPLv2 w/ Classpath Exception (CPE):

[http://hg.openjdk.java.net/code-tools/jmh/file/3769055ad883/LICENSE]

That makes this in the same question-space as LEGAL-336 and LEGAL-396.

On the questions:

Q1) Is it a valid use for GPL-licensed JMH in Apache Calcite code?

Per current policy GPL CPE is considered Category X. However this may okay if is an Optional or Platform-provided use. It sounds like this is for the purposes of developing Calcite and not for use with Calcite, ie) ubenchmark is about benchmarking Calcite. Does JMH come with OpenJDK or is it a different downloadable?


 Q2) Does [ubenchmark code|https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=blob;f=ubenchmark/src/main/java/org/apache/calcite/benchmarks/ParserBenchmark.java;h=90e4e8aedab6d128348da0af48a928923a194efb;hb=HEAD#l108] count as a derivative work on top of JMH?

The GPL CPE states:

{{ Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. }}

The phrase combined work isn't subsequently used, and is not defined or used in GPL 2.0. It does appear in GPL 3.0 with regards to AGPL 3.0. That said, I believe the intent is similar to considering the [ubenchmark code + JMH] combination to be a derivative work of JMH.

On its own, ie: 'at rest and without the JMH code linked to it (statically or dynamically)' I believe the general view of our industry is that the ubenchmark code (at rest) is not a derivative work of JMH.


 Q3) Do we have to use GPL license for {{ubenchmark}} code?

Regardless of the at-rest vs linking above, if you are: "{{link(ing) this library with independent modules to produce an executable}}" then no it does not have to be under GPL.

 

--

 

The open question here is #1, whether we consider this an Optional or Platform-provided use.

> Is writing tests based on JMH (Java Microbenchmark Harness) a derivative work on top of JMH?
> --------------------------------------------------------------------------------------------
>
>                 Key: LEGAL-399
>                 URL: https://issues.apache.org/jira/browse/LEGAL-399
>             Project: Legal Discuss
>          Issue Type: Question
>            Reporter: Vladimir Sitnikov
>            Priority: Major
>
> JMH (Java Microbenchmark Harness) seems to be the only sane approach to create benchmarks for Java libraries nowdays. Basically it allows to measure how fast or slow Java code works.
> Apache Calcite uses JMH for that reason, however there's a question:
> 1) The license for JMH is GPL
> 2) Apache Calcite has a {{ubenchmark}} module (Maven module if that matters), which heavily relies on JMH to perform measurements. That is Calcite's code relies on JMH, and basically there's no alternative (there's no alternative that one can supply instead of JMH in order to make {{ubenchmark}} module work)
> 3) {{ubenchmark}} is currently included into the release, however in fact no-one expects that module to be used by the end users. In other words, {{ubenchmark}} module is typically used for research purposes only, and it is not touched in any way during normal operation of Apache Calcite
> Here are the questions:
> Q1) Is it a valid use for GPL-licensed JMH in Apache Calcite code?
> Q2) Does [ubenchmark code|https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=blob;f=ubenchmark/src/main/java/org/apache/calcite/benchmarks/ParserBenchmark.java;h=90e4e8aedab6d128348da0af48a928923a194efb;hb=HEAD#l108] count as a derivative work on top of JMH?
> Q3) Do we have to use GPL license for {{ubenchmark}} code?
> Relevant directory in Apache Calcite repository that uses JMH:
> https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=tree;f=ubenchmark;h=07bfdf2766ed001103599350239d8d90cd8920f7;hb=HEAD



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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