Hi John,

Glad to hear your feedback. Reply inline:

> In the case of JMH, the repository I linked above forces the user to download
> the additional dependency from maven central (or similar repository) rather
> than relying on the system preinstalled library.

>From a technical view, this is not true because you can download the
libs manually and place them under MAVEN_HOME. Then it can be regarded
as a "system preinstalled library". It's the same as download JDK and
place them under JAVA_HOME.

> you can't use org.openjdk.jmh:* as a compile/test compile
> dependency in your project

fury-benchmark is not released in binary form. But we can of course
make it an optional dependency (or the entire module optionally)
behind a profile and deactivated by default so that it's the same as
how ASF projects can optionally depend on MySQL Connector Java under
the same license.

A related discussion can be found at [1].

>> THEY MAY BE RELIED UPON WHEN THEY SUPPORT AN OPTIONAL FEATURE
>> "Will the majority of users want to use my product without adding the 
>> optional components?"

No. Benchmark is for testing; most users don't even know it and cannot
depend on it as a Maven artifact.

P.S.
> don't approach things as "TLP [x] does it this way so
> it must be the preferred way"
Yeah .. Even I don't think Flink did it correctly, this expression
increases confusion. Most readers don't have the context to understand
the referred case. I'll avoid it.

Best,
tison.

[1] https://issues.apache.org/jira/browse/LEGAL-437

John D. Ament <johndam...@apache.org> 于2023年12月27日周三 23:57写道:
>
> On Tue, Dec 26, 2023 at 8:09 PM tison <wander4...@gmail.com> wrote:
>
> > Hi,
> >
> > The new podling Fury depends on jmh[1] which is licensed under GPLv2
> > with "CLASSPATH" EXCEPTION.
> >
>
> Just to confirm, are you referring to the code under [benchmark]?
>
>
> >
> > IIRC Flink ever factored out its benchmark code into a separate repo
> > [2] to comply with ASF's license policy [3].
> >
>
> As a word of caution, don't approach things as "TLP [x] does it this way so
> it must be the preferred way"
>
>
> >
> > But since Fury doesn't modify jmh's code, just refers to some
> > "org.openjdk.jmh." classes, I wonder if it's the same that a Java
> > source file refers to JDK's classes under GPLv2 with "CLASSPATH"
> > EXCEPTION.
> >
> > Or, we can exclude the benchmark code from the release like [4] but
> > still hold it in the VCS.
> >
>
> There's a difference between the GPL+CPE Cat X ruling we list on our
> license website and how you're using JMH.  When it comes to a Java
> application, a developer has preinstalled the JDK (or using a manager of
> some kind to install it - so not something we're forcing upon them).  In
> the case of JMH, the repository I linked above forces the user to download
> the additional dependency from maven central (or similar repository) rather
> than relying on the system preinstalled library.
>
> It's probably worth a question to legal, but I'm inclined to believe the
> answer is no, you can't use org.openjdk.jmh:* as a compile/test compile
> dependency in your project but would be happy to be wrong about that.
>
>
> >
> > Best,
> > tison.
> >
> > [1] https://github.com/openjdk/jmh?tab=GPL-2.0-1-ov-file
> > [2] https://github.com/apache/flink-benchmarks
> > [3] https://www.apache.org/legal/resolved.html
> > [4] https://github.com/apache/incubator-opendal/blob/main/.gitattributes
>
>
> [benchmark]:
> https://github.com/apache/incubator-fury/tree/main/java/fury-benchmark
>
>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> > For additional commands, e-mail: general-h...@incubator.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to