[ https://issues.apache.org/jira/browse/TEZ-4378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
László Bodor resolved TEZ-4378. ------------------------------- Fix Version/s: 0.10.3 Resolution: Resolved > tez-dist: org.checkerframework.dataflow is included with GNU GPLv2 license > -------------------------------------------------------------------------- > > Key: TEZ-4378 > URL: https://issues.apache.org/jira/browse/TEZ-4378 > Project: Apache Tez > Issue Type: Bug > Reporter: László Bodor > Assignee: László Bodor > Priority: Major > Fix For: 0.10.3 > > Time Spent: 0.5h > Remaining Estimate: 0h > > dataflow license is GNU GPL2: > https://mvnrepository.com/artifact/org.checkerframework/dataflow > Apache vs GNU GPL: according to this > [source|https://www.whitesourcesoftware.com/resources/blog/top-10-apache-license-questions-answered/] > {code} > 4. What is the difference between the Apache License 2.0 and the GNU GPL? > The GNU GPL is a copyleft license. So software that uses any GPL-licensed > component has to release its full source code and all rights to modify and > distribute the entire code. The Apache License 2.0 doesn’t impose any such > terms. You’re not forced to release your modified version. Besides, you can > choose to release your modified version under a different license (however, > you’re required to retain the Apache License for the unmodified parts of the > code). > 5. Is the Apache License compatible with the GNU GPL? > Apache License 2.0 is compatible with GPLv3, so you can freely mix the code > that’s released under these two licenses. The resulting software, however, > must be released under GPLv3. > However, the Apache License 2.0 in incompatible with GPLv2 due to the > restriction that terminates the grant of patent rights if the license sues > over patent infringement. Previous Apache versions, being heavily based on > the BSD license, are compatible. > {code} > in the current state, dataflow is included in the tez dist package, which > makes anyone using tez need to comply with GPL license > {code} > grep -iRH "org.checkerframework.dataflow" --include="*.jar" > ggrep: > tez-plugins/tez-yarn-timeline-cache-plugin/target/tez-yarn-timeline-cache-plugin-0.10.2-SNAPSHOT-jar-with-dependencies.jar: > binary file matches > ggrep: > tez-plugins/tez-history-parser/target/tez-history-parser-0.10.2-SNAPSHOT-jar-with-dependencies.jar: > binary file matches > ggrep: tez-dist/target/tez-0.10.2-SNAPSHOT/lib/checker-qual-2.5.2.jar: binary > file matches > ggrep: tez-dist/target/tez-0.10.2-SNAPSHOT/lib/hadoop-shaded-guava-1.1.1.jar: > binary file matches > {code} > if I look at the checker-qual jar for example: > {code} > jar -tf tez-dist/target/tez-0.10.2-SNAPSHOT/lib/checker-qual-2.5.2.jar | grep > dataflow > org/checkerframework/dataflow/ > org/checkerframework/dataflow/qual/ > org/checkerframework/dataflow/qual/Pure$Kind.class > org/checkerframework/dataflow/qual/TerminatesExecution.class > org/checkerframework/dataflow/qual/SideEffectFree.class > org/checkerframework/dataflow/qual/Pure.class > org/checkerframework/dataflow/qual/Deterministic.class > {code} > the problem is that's dangerous to remove hadoop-shaded-guava alltogether > from the distribution as other hadoop jars will directly depend on them > without a hadoop solution, we should try to manually remove the problematic > package from hadoop-shaded-guava.jar and every other > *jar-with-dependencies.jar that was built by tez -- This message was sent by Atlassian Jira (v8.20.10#820010)