From ae6ca748f072c6d4673998b837dad977f9d12803 Mon Sep 17 00:00:00 2001 From: Shayn Hornik Date: Tue, 1 Sep 2026 14:28:10 -0400 Subject: [PATCH 1/4] Build: Correct LICENSE paths for wheels and document the bundled Cython runtime The wheel ships fb303 and hive_metastore as top-level packages (setup.py package_dir), so the LICENSE entries pointing at vendor/ were wrong in binary distributions, and the compiled decoder_fast module embeds Cython runtime code that was not documented. Reword both vendored entries to describe each layout and add a Cython entry, raised in the 0.12.0 release vote thread. Generated-by: Claude Code (Fable 5) Co-Authored-By: Claude Fable 5 --- LICENSE | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index ffdd12aad2..bad56be56b 100644 --- a/LICENSE +++ b/LICENSE @@ -216,7 +216,9 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache Thrift. -* Uses the fb303.thrift file that's part of Hive's thrift service in vendor/fb303/ +* Uses the fb303.thrift file that's part of Hive's thrift service, located in + vendor/fb303/ in the source distribution and shipped as the top-level fb303 + package in binary distributions. Copyright: 2006-2022 The Apache Software Foundation. Home page: https://thrift.apache.org/ @@ -226,10 +228,23 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache Hive. -* Uses hive_metastore.thrift to generate the Hive Metastore client in vendor/hive_metastore/ +* Uses hive_metastore.thrift to generate the Hive Metastore client, located in + vendor/hive_metastore/ in the source distribution and shipped as the + top-level hive_metastore package in binary distributions. Copyright: 2008-2022 The Apache Software Foundation. Home page: https://hive.apache.org/ License: https://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- + +This product includes code from Cython in binary distributions. + +* The compiled extension module (pyiceberg.avro.decoder_fast) embeds the + Cython runtime code that Cython generates into every compiled module. + +Copyright: The Cython Project Developers. +Home page: https://cython.org/ +License: https://www.apache.org/licenses/LICENSE-2.0 + +-------------------------------------------------------------------------------- From 56f88eb56ec9c76a471bd9525d01470f62fb0e8e Mon Sep 17 00:00:00 2001 From: Shayn Hornik Date: Mon, 7 Sep 2026 08:50:00 -0400 Subject: [PATCH 2/4] Build: Cite Cython's COPYING.txt instead of an invented copyright line Cython's LICENSE.txt carries no copyright holder line, so drop the one this entry made up and instead record why the bundled runtime needs no NOTICE change, as requested in review. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01SQc71d6jDK1U3i4mP9os5i --- LICENSE | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index bad56be56b..769ea33612 100644 --- a/LICENSE +++ b/LICENSE @@ -242,9 +242,12 @@ This product includes code from Cython in binary distributions. * The compiled extension module (pyiceberg.avro.decoder_fast) embeds the Cython runtime code that Cython generates into every compiled module. + Cython's COPYING.txt states that this generated output is not a derivative + work of Cython and carries no additional license restrictions; Cython ships + no NOTICE file, so this entry is recorded for completeness only. -Copyright: The Cython Project Developers. Home page: https://cython.org/ License: https://www.apache.org/licenses/LICENSE-2.0 +Notice: https://github.com/cython/cython/blob/master/COPYING.txt -------------------------------------------------------------------------------- From fa2a57b810627561f859ba4f507e14fd73ff4c01 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 10:20:57 -0700 Subject: [PATCH 3/4] Build: Clarify generated code license entries Describe the generated Thrift bindings using their actual sdist and wheel layouts, and align the Cython note with its licensing clarification. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- LICENSE | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/LICENSE b/LICENSE index 769ea33612..1c551819ab 100644 --- a/LICENSE +++ b/LICENSE @@ -216,9 +216,10 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache Thrift. -* Uses the fb303.thrift file that's part of Hive's thrift service, located in - vendor/fb303/ in the source distribution and shipped as the top-level fb303 - package in binary distributions. +* Includes Python bindings generated from the fb303.thrift file that's part of + Hive's thrift service. The bindings are located in vendor/fb303/ in source + distributions and shipped as the top-level fb303 package in binary + distributions. Copyright: 2006-2022 The Apache Software Foundation. Home page: https://thrift.apache.org/ @@ -228,9 +229,9 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache Hive. -* Uses hive_metastore.thrift to generate the Hive Metastore client, located in - vendor/hive_metastore/ in the source distribution and shipped as the - top-level hive_metastore package in binary distributions. +* Includes the Hive Metastore client generated from hive_metastore.thrift. The + generated code is located in vendor/hive_metastore/ in source distributions + and shipped as the top-level hive_metastore package in binary distributions. Copyright: 2008-2022 The Apache Software Foundation. Home page: https://hive.apache.org/ @@ -238,16 +239,15 @@ License: https://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- -This product includes code from Cython in binary distributions. +Official binary distributions contain the pyiceberg.avro.decoder_fast +extension, built from C code generated by Cython. -* The compiled extension module (pyiceberg.avro.decoder_fast) embeds the - Cython runtime code that Cython generates into every compiled module. - Cython's COPYING.txt states that this generated output is not a derivative - work of Cython and carries no additional license restrictions; Cython ships - no NOTICE file, so this entry is recorded for completeness only. +* Cython generates this C code from pyiceberg/avro/decoder_fast.pyx. Cython + states that compilation may embed snippets in generated output, but that the + output is not a derivative work of Cython and those snippets impose no + license restrictions. -Home page: https://cython.org/ -License: https://www.apache.org/licenses/LICENSE-2.0 -Notice: https://github.com/cython/cython/blob/master/COPYING.txt +Cython licensing clarification: +https://github.com/cython/cython/blob/2f3a781dcca092ce95fbfef2736b12b0d1ab50dd/COPYING.txt -------------------------------------------------------------------------------- From d9dc1938b5145ca4e7e00f260c87263589ec4479 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 10:27:26 -0700 Subject: [PATCH 4/4] Build: Describe generated fb303 code precisely Avoid implying that the fb303 Thrift definition itself is included in source or binary distributions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- LICENSE | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index 1c551819ab..33ddac1aaa 100644 --- a/LICENSE +++ b/LICENSE @@ -216,10 +216,9 @@ License: https://www.apache.org/licenses/LICENSE-2.0 This product includes code from Apache Thrift. -* Includes Python bindings generated from the fb303.thrift file that's part of - Hive's thrift service. The bindings are located in vendor/fb303/ in source - distributions and shipped as the top-level fb303 package in binary - distributions. +* Includes the generated Python client and type definitions for the fb303 + service. In source distributions, this code is located in vendor/fb303/; in + binary distributions, it is shipped as the top-level fb303 package. Copyright: 2006-2022 The Apache Software Foundation. Home page: https://thrift.apache.org/