Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-579: Add and fix LICENSE.txt and NOTICE.txt in the distributed artifacts #578

Merged
merged 1 commit into from
Feb 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -202,16 +202,21 @@
limitations under the License.

--------------------------------------------------------------------------------
vector/src/main/java/org/apache/arrow/vector/util/IntObjectHashMap.java
vector/src/main/java/org/apache/arrow/vector/util/IntObjectMap.java
This product includes code from Netty 4.1.117.Final:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it required to include the specific version? It would be easily out of sync since the dependabot does not maintain this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately (or not 😄 ), yes, It's important to specify the version of the dependency as licenses sometimes change as product versions change.
Also the NOTICE can change from a version to another.
So, it's better to document to actual version bundled in our distributed jar.

So source distribution, we should document the version where the code has been copied from.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation! If we don't have good automation tools to keep them in sync, at least we need to make sure they are accurate in the release process.


These file are derived from code from Netty(4.1.117), which is made available under the
Apache License 2.0.
* vector/src/main/java/org/apache/arrow/vector/util/IntObjectHashMap.java
* vector/src/main/java/org/apache/arrow/vector/util/IntObjectMap.java
* memory/memory-core/src/main/java/org/apache/arrow/memory/rounding/DefaultRoundingPolicy.java

Copyright: 2014 The Netty Project
Home page: https://netty.io/
License: https://www.apache.org/licenses/LICENSE-2.0

--------------------------------------------------------------------------------
memory/memory-core/src/main/java/org/apache/arrow/util/Preconditions.java
This product includes code from Google Guava 33.4.0-jre

* memory/memory-core/src/main/java/org/apache/arrow/util/Preconditions.java

This product includes software from Google Guava(33.4.0), which is made available under the
Apache License 2.0.
* Copyright (C) 2007 The Guava Authors
* https://github.com/google/guava
Copyright: (C) 2011 The Guava Authors
Home page: https://github.com/google/guava/
License: https://www.apache.org/licenses/LICENSE-2.0
271 changes: 264 additions & 7 deletions NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,269 @@ Copyright 2016-2025 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product contains code from the Netty Project:
---------------------------------------------------
The Netty Project
=================
Please visit the Netty web site for more information:
* http://netty.io/
This product includes code from Netty 4.1.117.Final, with the following in its NOTICE:

Copyright 2014 The Netty Project
---------------------------------------------------
| The Netty Project
| =================
|
| Please visit the Netty web site for more information:
|
| * https://netty.io/
|
| Copyright 2014 The Netty Project
|
| The Netty Project licenses this file to you under the Apache License,
| version 2.0 (the "License"); you may not use this file except in compliance
| with the License. You may obtain a copy of the License at:
|
| https://www.apache.org/licenses/LICENSE-2.0
|
| Unless required by applicable law or agreed to in writing, software
| distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
| WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
| License for the specific language governing permissions and limitations
| under the License.
|
| Also, please refer to each LICENSE.<component>.txt file, which is located in
| the 'license' directory of the distribution file, for the license terms of the
| components that this product depends on.
|
| -------------------------------------------------------------------------------
| This product contains the extensions to Java Collections Framework which has
| been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene:
|
| * LICENSE:
| * license/LICENSE.jsr166y.txt (Public Domain)
| * HOMEPAGE:
| * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/
| * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/
|
| This product contains a modified version of Robert Harder's Public Domain
| Base64 Encoder and Decoder, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.base64.txt (Public Domain)
| * HOMEPAGE:
| * http://iharder.sourceforge.net/current/java/base64/
|
| This product contains a modified portion of 'Webbit', an event based
| WebSocket and HTTP server, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.webbit.txt (BSD License)
| * HOMEPAGE:
| * https://github.com/joewalnes/webbit
|
| This product contains a modified portion of 'SLF4J', a simple logging
| facade for Java, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.slf4j.txt (MIT License)
| * HOMEPAGE:
| * https://www.slf4j.org/
|
| This product contains a modified portion of 'Apache Harmony', an open source
| Java SE, which can be obtained at:
|
| * NOTICE:
| * license/NOTICE.harmony.txt
| * LICENSE:
| * license/LICENSE.harmony.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://archive.apache.org/dist/harmony/
|
| This product contains a modified portion of 'jbzip2', a Java bzip2 compression
| and decompression library written by Matthew J. Francis. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.jbzip2.txt (MIT License)
| * HOMEPAGE:
| * https://code.google.com/p/jbzip2/
|
| This product contains a modified portion of 'libdivsufsort', a C API library to construct
| the suffix array and the Burrows-Wheeler transformed string for any input string of
| a constant-size alphabet written by Yuta Mori. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.libdivsufsort.txt (MIT License)
| * HOMEPAGE:
| * https://github.com/y-256/libdivsufsort
|
| This product contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM,
| which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.jctools.txt (ASL2 License)
| * HOMEPAGE:
| * https://github.com/JCTools/JCTools
|
| This product optionally depends on 'JZlib', a re-implementation of zlib in
| pure Java, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.jzlib.txt (BSD style License)
| * HOMEPAGE:
| * http://www.jcraft.com/jzlib/
|
| This product optionally depends on 'Compress-LZF', a Java library for encoding and
| decoding data in LZF format, written by Tatu Saloranta. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.compress-lzf.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/ning/compress
|
| This product optionally depends on 'lz4', a LZ4 Java compression
| and decompression library written by Adrien Grand. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.lz4.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/jpountz/lz4-java
|
| This product optionally depends on 'lzma-java', a LZMA Java compression
| and decompression library, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.lzma-java.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/jponge/lzma-java
|
| This product optionally depends on 'zstd-jni', a zstd-jni Java compression
| and decompression library, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.zstd-jni.txt (BSD)
| * HOMEPAGE:
| * https://github.com/luben/zstd-jni
|
| This product contains a modified portion of 'jfastlz', a Java port of FastLZ compression
| and decompression library written by William Kinney. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.jfastlz.txt (MIT License)
| * HOMEPAGE:
| * https://code.google.com/p/jfastlz/
|
| This product contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data
| interchange format, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.protobuf.txt (New BSD License)
| * HOMEPAGE:
| * https://github.com/google/protobuf
|
| This product optionally depends on 'Bouncy Castle Crypto APIs' to generate
| a temporary self-signed X.509 certificate when the JVM does not provide the
| equivalent functionality. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.bouncycastle.txt (MIT License)
| * HOMEPAGE:
| * https://www.bouncycastle.org/
|
| This product optionally depends on 'Snappy', a compression library produced
| by Google Inc, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.snappy.txt (New BSD License)
| * HOMEPAGE:
| * https://github.com/google/snappy
|
| This product optionally depends on 'JBoss Marshalling', an alternative Java
| serialization API, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.jboss-marshalling.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/jboss-remoting/jboss-marshalling
|
| This product optionally depends on 'Caliper', Google's micro-
| benchmarking framework, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.caliper.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/google/caliper
|
| This product optionally depends on 'Apache Commons Logging', a logging
| framework, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.commons-logging.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://commons.apache.org/logging/
|
| This product optionally depends on 'Apache Log4J', a logging framework, which
| can be obtained at:
|
| * LICENSE:
| * license/LICENSE.log4j.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://logging.apache.org/log4j/
|
| This product optionally depends on 'Aalto XML', an ultra-high performance
| non-blocking XML processor, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.aalto-xml.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://wiki.fasterxml.com/AaltoHome
|
| This product contains a modified version of 'HPACK', a Java implementation of
| the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.hpack.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/twitter/hpack
|
| This product contains a modified version of 'HPACK', a Java implementation of
| the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.hyper-hpack.txt (MIT License)
| * HOMEPAGE:
| * https://github.com/python-hyper/hpack/
|
| This product contains a modified version of 'HPACK', a Java implementation of
| the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at:
|
| * LICENSE:
| * license/LICENSE.nghttp2-hpack.txt (MIT License)
| * HOMEPAGE:
| * https://github.com/nghttp2/nghttp2/
|
| This product contains a modified portion of 'Apache Commons Lang', a Java library
| provides utilities for the java.lang API, which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.commons-lang.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://commons.apache.org/proper/commons-lang/
|
|
| This product contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build.
|
| * LICENSE:
| * license/LICENSE.mvn-wrapper.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/takari/maven-wrapper
|
| This product contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS.
| This private header is also used by Apple's open source
| mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/).
|
| * LICENSE:
| * license/LICENSE.dnsinfo.txt (Apple Public Source License 2.0)
| * HOMEPAGE:
| * https://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h
|
| This product optionally depends on 'Brotli4j', Brotli compression and
| decompression for Java., which can be obtained at:
|
| * LICENSE:
| * license/LICENSE.brotli4j.txt (Apache License 2.0)
| * HOMEPAGE:
| * https://github.com/hyperxpro/Brotli4j
20 changes: 20 additions & 0 deletions flight/flight-integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ under the License.

<build>
<plugins>
<!-- TODO exclude LICENSE.txt/NOTICE.txt from non shaded jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
Expand All @@ -87,9 +89,27 @@ under the License.
<exclude>**/module-info.class</exclude>
</excludes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>LICENSE.txt</exclude>
<exclude>NOTICE.txt</exclude>
<exclude>META-INF/*LICENSE*</exclude>
<exclude>META-INF/*NOTICE*</exclude>
<exclude>META-INF/license/*</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"></transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>META-INF/LICENSE.txt</resource>
<file>src/shade/LICENSE.txt</file>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>META-INF/NOTICE.txt</resource>
<file>src/shade/NOTICE.txt</file>
</transformer>
</transformers>
</configuration>
</execution>
Expand Down
Loading
Loading