Skip to content
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
6 changes: 3 additions & 3 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ noinst_HEADERS = \

doxygen_doc_files = $(noinst_HEADERS)

doc_dir = $(pkgdatadir)/doc
dist_doc_DATA = \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This installs LICENSE and THIRD_PARTY_NOTICES into $(docdir) (/usr/share/doc/ucx), but %files in ucx.spec.in only lists %{_datadir}/ucx, %doc README AUTHORS NEWS, and %license. Did contrib/buildrpm.sh pass with the new paths? rpm aborts on unpackaged files, and build_release_pkg in buildlib/tools/builds.sh runs it. (Caveat: rpm's special %doc handling may emit /usr/share/doc/ucx as a bare recursive directory entry, which would silently package the new files — and ship LICENSE twice, once under %{_licensedir} and once under docdir — rather than fail, hence a question rather than a blocker.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed: RPM packaging removes the duplicate Automake docdir copy and keeps the distro-native %license copies. A source and binary RPM build passed, both legal files are present under the RPM license directory, and /usr/share/doc/ucx is absent from the buildroot.

LICENSE \
THIRD_PARTY_NOTICES

if !DOCS_ONLY
perftest_dir = $(pkgdatadir)/perftest
Expand Down Expand Up @@ -85,8 +87,6 @@ EXTRA_DIST += debian/rules
EXTRA_DIST += debian/source/format
EXTRA_DIST += ucx.pc.in
EXTRA_DIST += ucx.spec
EXTRA_DIST += LICENSE

endif #!DOCS_ONLY
EXTRA_DIST += docs/uml/uct.dot

Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,8 @@ $ make -C test/gtest test

## Licenses

UCX is licensed as:

* [BSD3](LICENSE)
UCX is licensed under [BSD-3-Clause](LICENSE). See the
[third-party notices](THIRD_PARTY_NOTICES) for bundled components.

<hr>

Expand Down
259 changes: 259 additions & 0 deletions THIRD_PARTY_NOTICES
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
UCX Third-Party Notices
Comment thread
gleon99 marked this conversation as resolved.
Resolved
=======================

UCX is distributed under the BSD-3-Clause license in the LICENSE file. This
document identifies separately licensed third-party source code included in
the UCX source tree or referenced by a pinned Git submodule. It does not cover
libraries and tools that users install separately and that are only detected,
compiled against, or loaded at runtime.

BSD-3-Clause components
-----------------------

UCX project sources
Files: UCX source files that refer to the top-level LICENSE

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LICENSE still lists only the 2014-2020 holders while this file and debian/copyright now carry the full list (~21 entries) through 2026. Both new files point at LICENSE as authoritative — should LICENSE be updated too, or is leaving it as-is intentional?

Copyright notices include:
2001-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2014-2019 UT-Battelle, LLC. All rights reserved.
2014-2015 The University of Houston System. All rights reserved.
2015-2016 The University of Tennessee and The University of Tennessee
Research Foundation. All rights reserved.
2016-2021 Arm Ltd. All rights reserved.
2016-2019 Los Alamos National Security, LLC. All rights reserved.
2016-2026 Advanced Micro Devices, Inc. All rights reserved.
2019 UChicago Argonne, LLC. All rights reserved.
2020-2023 Huawei Technologies Co., Ltd. All rights reserved.
2016-2020 Stony Brook University. All rights reserved.
2015 IBM. All rights reserved.
2019 Hiroyuki Sato. All rights reserved.
2020 Shanghai Zhaoxin Semiconductor Co., Ltd. All rights reserved.
2021 Broadcom Inc. and/or its subsidiaries. All rights reserved.
2021 NextSilicon Ltd. All rights reserved.
2022 Tactical Computing Labs, LLC. All rights reserved.
2018, 2023 Triad National Security, LLC. All rights reserved.
2023-2026 Intel Corporation. All rights reserved.
2023 Rivos Inc.
2024 Google, LLC. All rights reserved.
2025 Fujitsu Limited. All rights reserved.
2026 Zhixian Li. All rights reserved.
Oak Ridge National Laboratory. All rights reserved.
License: BSD-3-Clause

inih
Files:
src/ucs/config/ini.c
src/ucs/config/ini.h
Upstream: https://github.com/benhoyt/inih
Copyright (C) 2009-2020, Ben Hoyt
License: BSD-3-Clause

ThunderX2 optimized memcpy
File: src/ucs/arch/aarch64/memcpy_thunderx2.S
Copyright (c) 2018, Marvell Technology Group Ltd.
License: Apache-2.0 OR BSD-3-Clause
Comment thread
roiedanino marked this conversation as resolved.
Resolved

UCX redistributes this file under the BSD-3-Clause alternative.

NVIDIA DOCA GPUNetIO
Git submodule: external/gpunetio

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The gpunetio entry omits the in-tree path: pls also list src/uct/ib/mlx5/gdaki/gpunetio/* here; that is the symlinked path whose headers src/uct/ib/mlx5/gdaki/Makefile.am actually installs, and debian/copyright already covers both external/gpunetio/* and that path.

Upstream: https://github.com/NVIDIA-DOCA/gpunetio
Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
License: BSD-3-Clause

The BSD-3-Clause license applicable to the sources and components above
follows:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

qsort_r BSD license
-------------------

qsort_r
Files:
src/ucs/algorithm/qsort_r.c
src/ucs/algorithm/qsort_r.h
Copyright (c) 1992, 1993 The Regents of the University of California.
License: BSD-3-Clause

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The qsort_r stanza understates the file's licensing: qsort_r.c/.h also carry Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2016 and See file LICENSE for terms, and the reproduced text is the clause-4 UC variant, not plain BSD-3-Clause. debian/copyright in this PR says BSD-3-clause and BSD-3-clause-UC with both copyrights listed; pls make this entry match so the two new files don't disagree.


The license distributed with qsort_r follows:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

4. Neither the name of the University nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

GoogleTest BSD license
----------------------

GoogleTest
Files: test/gtest/common/googletest/

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Blanket GoogleTest directory claim over-attributes to Google: googletest/Makefile.am (NVIDIA + NextSilicon) and googletest/configure.m4 (NVIDIA) are UCX-authored. debian/copyright carves them out in separate stanzas, but this blanket Files: test/gtest/common/googletest/ claim attributes them to Google.

Upstream: https://github.com/google/googletest
Copyright 2005-2015, Google Inc., as identified in the individual files.
License: BSD-3-Clause

The license distributed with GoogleTest follows:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

* Neither the name of Google Inc. nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

MIT component
-------------

khash
File: src/ucs/datastruct/khash.h
Upstream: https://github.com/attractivechaos/klib
Copyright (c) 2008, 2009, 2011 by Attractive Chaos
License: MIT

The MIT license applicable to khash follows:

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

SGLIB component
---------------

SGLIB 1.0.3
File: src/ucs/datastruct/sglib.h
Upstream: http://www.xref-tech.com/sglib
Copyright (C) 2003-2005 Marian Vittek

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

minor: the SGLIB entry is missing the License: field — pls add License: SGLIB; every other component entry has an explicit License: line, and debian/copyright uses that short name.


The license conditions distributed with SGLIB follow:

You can use a verbatim copy (including this copyright notice) of sglib
freely in any project, commercial or not. You can also use derivative forms
freely under terms of Open Source Software license or under terms of GNU
Public License. If you need to use a derivative form in a commercial
project, or you need sglib under any other license conditions, contact the
author.

Autoconf Archive component
--------------------------

Doxygen Autoconf macro
File: config/m4/ax_prog_doxygen.m4
Upstream: https://www.gnu.org/software/autoconf-archive/ax_prog_doxygen.html
Copyright (c) 2009 Oren Ben-Kiki
Copyright (C) 2014-2015 UT-Battelle, LLC. All rights reserved.
License: FSF All Permissive License

Doxygen Automake rules
File: docs/doxygen/doxygen.am
Copyright (c) 2009 Oren Ben-Kiki
Copyright (C) 2014-2015 UT-Battelle, LLC. All rights reserved.
License: BSD-3-Clause and FSF All Permissive License

The BSD-3-Clause license is reproduced above. The FSF All Permissive License
distributed with these files follows:

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice and
this notice are preserved. This file is offered as-is, without any warranty.

Public-domain components
------------------------

dlmalloc 2.8.6
Files:
src/ucm/ptmalloc286/malloc.c
src/ucm/ptmalloc286/malloc-2.8.6.h
Author: Doug Lea
License: Public domain

The source states:

This is a version (aka dlmalloc) of malloc/free/realloc written by Doug Lea
and released to the public domain, as explained at
http://creativecommons.org/publicdomain/zero/1.0/.

Quickselect routine
File: src/tools/perf/lib/libperf.c
Author: Nicolas Devillard
Copyright year: 1998
License: Public domain

The source states that the Quickselect routine is based on the algorithm in
"Numerical Recipes in C", Second Edition, and that the implementation by
Nicolas Devillard is in the public domain.
Loading