From 84e3f4dbcfbf67da4116ef7e9c37a14f3ce13d4c Mon Sep 17 00:00:00 2001 From: pctablet505 Date: Wed, 15 Jul 2026 12:50:17 +0000 Subject: [PATCH 1/2] docs: add complete Apache-2.0 license header for Arrow.h Replace the minimal license comment in src/libImaging/Arrow.h with the full Apache-2.0 header from the upstream Apache Arrow project, including the copyright ownership notice required by section 4(d) of the license. Fixes #9657 --- src/libImaging/Arrow.h | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/libImaging/Arrow.h b/src/libImaging/Arrow.h index 0b285fe8053..b7733dd7ada 100644 --- a/src/libImaging/Arrow.h +++ b/src/libImaging/Arrow.h @@ -1,9 +1,39 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF 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 +// +// http://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. + +/// \file Arrow.h Arrow C Data Interface +/// +/// The Arrow C Data interface defines a very small, stable set +/// of C definitions which can be easily copied into any project's +/// source code and vendored to be used for columnar data interchange +/// in the Arrow format. For non-C/C++ languages and runtimes, +/// it should be almost as easy to translate the C definitions into +/// the corresponding C FFI declarations. +/// +/// Applications and libraries can therefore work with Arrow memory +/// without necessarily using the Arrow libraries or reinventing +/// the wheel. Developers can choose between tight integration +/// with the Arrow software project or minimal integration with +/// the Arrow format only. + #include #include -// Apache License 2.0. -// Source apache arrow project -// https://arrow.apache.org/docs/format/CDataInterface.html +// Spec and documentation: https://arrow.apache.org/docs/format/CDataInterface.html #ifndef ARROW_C_DATA_INTERFACE #define ARROW_C_DATA_INTERFACE From fba4bb63cfdacc7fafffbc4f7d4ebc7a44361d0f Mon Sep 17 00:00:00 2001 From: pctablet505 Date: Sun, 19 Jul 2026 12:57:36 +0000 Subject: [PATCH 2/2] Attribute vendored Arrow C Data Interface snippet to its docs-page source The definitions in Arrow.h are the free-standing structures published in the Apache Arrow C Data Interface documentation and copied under the Apache License 2.0, not a copy of the upstream abi.h source file. Replace the header with a vendoring note recording the documentation source URL, the license, an SPDX identifier and the copyright holder, matching the style used for other vendored headers such as src/thirdparty/pythoncapi_compat.h, and keep the ARROW_C_DATA_INTERFACE guard exactly as-is. Fixes #9657 --- src/libImaging/Arrow.h | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/src/libImaging/Arrow.h b/src/libImaging/Arrow.h index b7733dd7ada..ab1e55d4554 100644 --- a/src/libImaging/Arrow.h +++ b/src/libImaging/Arrow.h @@ -1,40 +1,19 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF 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 +// Arrow C Data Interface structure definitions. // -// http://www.apache.org/licenses/LICENSE-2.0 +// These free-standing definitions are published by the Apache Arrow project +// for copying into third-party projects, under the Apache License 2.0: +// https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions // -// 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. - -/// \file Arrow.h Arrow C Data Interface -/// -/// The Arrow C Data interface defines a very small, stable set -/// of C definitions which can be easily copied into any project's -/// source code and vendored to be used for columnar data interchange -/// in the Arrow format. For non-C/C++ languages and runtimes, -/// it should be almost as easy to translate the C definitions into -/// the corresponding C FFI declarations. -/// -/// Applications and libraries can therefore work with Arrow memory -/// without necessarily using the Arrow libraries or reinventing -/// the wheel. Developers can choose between tight integration -/// with the Arrow software project or minimal integration with -/// the Arrow format only. +// Copyright The Apache Software Foundation. +// SPDX-License-Identifier: Apache-2.0 +// +// Per the specification, the ARROW_C_DATA_INTERFACE guard below is kept exactly +// as-is to avoid duplicate definitions when multiple projects vendor these +// declarations. #include #include -// Spec and documentation: https://arrow.apache.org/docs/format/CDataInterface.html - #ifndef ARROW_C_DATA_INTERFACE #define ARROW_C_DATA_INTERFACE