rmoff opened a new pull request, #18019:
URL: https://github.com/apache/iceberg/pull/18019
This makes the Kafka Connect runtime distribution's `LICENSE` and `NOTICE`
files
account for every third-party jar it bundles, so the artifact meets the ASF
requirements for a released distribution. It continues the work Ryan started
in
#16147; the structural commits here are taken directly from that PR, with his
authorship preserved.
### What this changes
The runtime no longer builds a Hive distribution, and it depends on the
`iceberg-aws-bundle`, `iceberg-gcp-bundle` and `iceberg-azure-bundle`
artifacts
rather than hand-picking the individual cloud SDK dependencies. Depending on
the
bundles means the runtime ships the same set of cloud jars they do, so its
LICENSE
and NOTICE content can be copied from the bundles' own files and stay in
sync with
them over time. `runtime-deps.txt` is regenerated for the new dependency set.
With that in place, `main/LICENSE` is reconciled against the jars actually
present
in the built distribution. The `jsr305` entry is removed (it is now excluded
from
the runtime), along with several entries for jars that are no longer bundled.
Entries are added for third parties that were bundled but previously
unaccounted
for, including full licence text for the non-Apache ones: Bouncy Castle
(MIT), and
the MSV, RELAX NG Datatype (BSD) and isorelax (CDDL) components shaded inside
Woodstox. Cloud-related entries are copied verbatim from the aws/gcp/azure
bundle
LICENSE files.
`main/NOTICE` is reconciled the same way. It carries the required
attributions for
the bundled jars: the cloud notices are copied verbatim from the bundle
NOTICE
files, and the substantive non-cloud notices are added (Apache Hadoop's
export-control notice, Apache Commons Math, Jakarta Activation,
grpc-netty-shaded,
and Jackson including its Schubfach attribution). Notices that contain only
the
standard "developed at The Apache Software Foundation" boilerplate are
omitted, as
they are already covered by the top-level Apache Iceberg attribution at the
head of
the file.
### Notes for reviewers
A few decisions are worth calling out:
- Removing the Hive distribution is user-facing. A follow-up can add it back
with
its own `runtime-deps.txt` if it is still wanted.
- The `hadoop-shaded-guava` and `hadoop-shaded-protobuf` jars are
deliberately not
given their own LICENSE entries. Their shaded contents (Guava and Protobuf)
already have entries, which matches how the distribution already handles
`grpc-netty-shaded` — it lists gRPC and Netty rather than the shaded
wrapper. I am
happy to add explicit `(bundled by ...)` sub-entries instead if that is
preferred.
- isorelax is copied from `gcp-bundle` with its full CDDL text. That differs
from
the URL-pointer style used for the directly-bundled CDDL dependencies
(jaxb and
friends); I matched the bundle rather than the local convention, but am
happy to
trim it to a pointer for consistency.
- OpenTelemetry and Bouncy Castle (which has relicensed to MIT) were bundled
but
unaccounted for before this change, so this PR also closes those
pre-existing gaps.
- The non-Hive distribution grows from roughly 239 to 253 bundled jars,
because the
full cloud bundles carry a few more artifacts than the previous
hand-picked set.
- Trimming the Hadoop dependencies the distribution may not need is
deliberately
left out of this PR; it changes runtime behaviour and belongs in a
separate,
tested change.
### Verification
The distribution builds (`distZip`) and `checkRuntimeDeps` passes,
confirming the
manifest matches the resolved runtime classpath. The Kafka Connect
integration
tests pass (13 of 13) against the built distribution, exercising the
cloud-bundle-based runtime end to end. LICENSE and NOTICE coverage was
audited jar
by jar against the artifacts actually present in the built zip.
---
Prepared with Claude (Opus 4.8), human-driven and reviewed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]