Repository navigation
Kafka Connect: Reconcile the Hive distribution LICENSE and NOTICE - #18663
kevinjqliu wants to merge 4 commits into
Conversation
|
|
||
| Project URL: https://commons.apache.org/proper/commons-beanutils/ | ||
| License: Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 | ||
| License: CDDL 1.0 - https://spdx.org/licenses/CDDL-1.0.html |
There was a problem hiding this comment.
This changes the JAXB license from CDDL 1.1 to CDDL 1.0, which doesn't match the jar we ship now.
jaxb-api 2.2.11 declares Bundle-License: https://glassfish.java.net/public/CDDL+GPL_1_1.html in its manifest. CDDL 1.0 was only correct for jaxb-api 2.2.2.
The previous hive entry was right.
main/LICENSE needs the same fix.
| License: CDDL 1.0 - https://spdx.org/licenses/CDDL-1.0.html | |
| License: CDDL 1.1 - https://glassfish.java.net/public/CDDL+GPL_1_1.html |
There was a problem hiding this comment.
this entry comes from main, will follow up there since it affects both
|
|
||
| -------------------------------------------------------------------------------- | ||
|
|
||
| This product bundles reload4j with the following in its NOTICE file: |
There was a problem hiding this comment.
This reload4j section is removed, but reload4j and slf4j-reload4j are still in hive/runtime-deps.txt. The reload4j jar ships a META-INF/NOTICE.
Even if the NOTICE is the one from Apache, reload4j is not ASF project, so we should keep it.
Can this section be restored?
There was a problem hiding this comment.
main skips the same case (analyticsaccelerator-s3's NOTICE is only an ASF copyright), so i left it out. will follow up for both
The Hive distribution inherits the main distribution's dependencies but was resolved on its own, so the Hive Metastore client's dependencies pulled newer commons-logging, jaxb-api and jakarta.activation-api and dropped stax-api. Resolve hive consistently with runtimeClasspath so it is the main distribution plus the Hive Metastore client and its dependencies. Generated-by: GitHub Copilot (Claude Opus 5.5) Co-authored-by: Copilot App <[email protected]>
The Hive distribution's LICENSE and NOTICE predate apache#18019 and no longer match what it bundles. The Hive distribution is now the main one plus the Hive Metastore client and its dependencies, so its LICENSE and NOTICE are the main ones followed by entries for those additions. The added entries cover the Hive Metastore client and its Hadoop, Thrift, ZooKeeper, DataNucleus, Derby, Jetty, Tomcat and logging dependencies, plus code bundled inside them, such as ASM, FDLIBM, quiche and the YARN web UI's jQuery, DataTables and jsTree. Generated-by: GitHub Copilot (Claude Opus 5.5) Co-authored-by: Copilot App <[email protected]>
f9fd933 to
f6e244f
Compare
| commons-io:commons-io:2.20 | ||
| commons-lang:commons-lang:2.6 | ||
| commons-logging:commons-logging:1.3 | ||
| commons-logging:commons-logging:1.2 |
There was a problem hiding this comment.
align this with main distribution's runtime-deps.txt file
| javax.servlet:javax.servlet-api:3.1 | ||
| javax.transaction:jta:1.1 | ||
| javax.xml.bind:jaxb-api:2.2 | ||
| javax.xml.stream:stax-api:1.0-2 |
There was a problem hiding this comment.
align this with main distribution's runtime-deps.txt file
iceberg/kafka-connect/kafka-connect-runtime/main/runtime-deps.txt
Lines 161 to 163 in d1a4229
| // keep the hive distribution a superset of main by resolving shared jars to the same versions | ||
| shouldResolveConsistentlyWith(runtimeClasspath) |
There was a problem hiding this comment.
@danielcweeks had a comment about this in #18660 (comment)
extendsFrom adds main's dependencies to hive, but hive still resolves them together with the Hive Metastore client's dependencies. When both ask for the same jar, Gradle picks the newer version, so hive ended up with different versions than main for a few shared jars.
This change ensures the versions are all aligned with main. See the diff in hive/runtime-deps.txt in this PR.
|
|
||
| Project URL: https://commons.apache.org/proper/commons-beanutils/ | ||
| License: Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 | ||
| License: CDDL 1.0 - https://spdx.org/licenses/CDDL-1.0.html |
There was a problem hiding this comment.
this entry comes from main, will follow up there since it affects both
|
|
||
| -------------------------------------------------------------------------------- | ||
|
|
||
| This product bundles reload4j with the following in its NOTICE file: |
There was a problem hiding this comment.
main skips the same case (analyticsaccelerator-s3's NOTICE is only an ASF copyright), so i left it out. will follow up for both
The Hive distribution bundled logback-classic and slf4j-reload4j, which are SLF4J 1.x bindings that slf4j-api 2.x ignores. Exclude them and drop the Logback LICENSE entry. Generated-by: GitHub Copilot (Claude Opus 5.5) Co-authored-by: Copilot App <[email protected]>
| // SLF4J 1.x bindings are ignored by slf4j-api 2.x | ||
| exclude group: 'ch.qos.logback' | ||
| exclude group: 'org.slf4j', module: 'slf4j-reload4j' |
There was a problem hiding this comment.
@danielcweeks had a comment about this in #18660 (comment)
logback-classic and slf4j-reload4j are SLF4J 1.x bindings, which slf4j-api 2.0 ignores. Both are only in hive, so this excludes them and drops the Logback entry from hive/LICENSE. See the diff in hive/runtime-deps.txt in this PR.
There was a problem hiding this comment.
reverted this to keep the PR focused on LICENSE/NOTICE. will exclude them from hive in a follow up
…ibution" Exclusion will be done in a follow up. This reverts commit 7a6a454. Generated-by: GitHub Copilot (Claude Opus 5.5) Co-authored-by: Copilot App <[email protected]>
Follow up to #18660
Fixes Kafka Connect runtime's
hivedistributionLICENSEandNOTICE.maindistribution was fixed in #15449 and #18019.The
hivedistribution is a superset ofmain: it bundles everymaindep at the same version, plus 95 more for the Hive Metastore client. Sohive/LICENSEandhive/NOTICEtake all existing entries frommain/LICENSEandmain/NOTICEverbatim, and append a section for the 95 hive-only deps.mainfiles are unchanged. All three hive files are add-only vs main:logback-classicandslf4j-reload4jare SLF4J 1.x bindings that slf4j-api 2.0 ignores. Excluding them fromhivewill be a follow up.How each added dep is attributed
Each of the 95 added deps maps to a
hive/LICENSEentry; lines up to 2525 are inherited from main. Licenses were checked against each jar's POM and bundled LICENSE file, if any. Jars were scanned for shaded packages, native libs and web assets.runtime-deps.txt additions → hive/LICENSE
hive/LICENSEentry (line)hive/NOTICE additions
Every non-ASF NOTICE line in the added jars is in
hive/NOTICE, either inherited from main or in the appended section. The appended sections are copied verbatim from the jar'sMETA-INF/NOTICE.hive/NOTICEentry (line)derby.jarThe rest have no NOTICE, ASF boilerplate only, or a NOTICE already covered by main (e.g. the Jackson JAX-RS/JAXB jars carry an older wording of the Jackson NOTICE).
AI Disclosure