From 029347c2f2fabd97a18177af903e807a4e434abc Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Fri, 8 May 2026 23:21:47 +0000 Subject: [PATCH 1/3] Round 2 of adding copyright and license notices to files Signed-off-by: Andy Fingerhut --- .bazelignore | 4 + .bazelrc | 4 + .bazelversion.license | 3 + .github/ISSUE_TEMPLATE/bug_report.md | 4 + .github/ISSUE_TEMPLATE/feature_request.md | 4 + .github/workflows/any-branch-uploads.yml | 4 + .github/workflows/bazel-build.yml | 4 + .github/workflows/codegen.yml | 4 + .../workflows/google-rpc-status-synced.yml | 4 + .github/workflows/main-branch-uploads.yml | 4 + .github/workflows/rust-build.yml | 4 + .github/workflows/spec.yml | 4 + .github/workflows/tag-uploads.yml | 4 + .gitignore | 4 + BUILD.bazel.license | 3 + CONTRIBUTING.md | 6 + MODULE.bazel.license | 3 + README.md | 6 + WORKSPACE.bzlmod.license | 3 + bazel/example/using-bzlmod/.bazelrc | 4 + .../example/using-bzlmod/BUILD.bazel.license | 3 + .../example/using-bzlmod/MODULE.bazel.license | 3 + docs/README.md | 6 + docs/libre-office.png.license | 3 + docs/tools/Dockerfile.asciidoc | 4 + docs/tools/README.md | 6 + docs/tools/fonts/fix_helvetica.conf.license | 3 + docs/v1/README.md | 6 + docs/v1/guidance-for-generating-p4info.md | 6 + docs/v1/p4runtime-id-notes.md | 6 + docs/v1/resources/figs/.gitignore | 4 + docs/v1/resources/theme/references.bib | 6 + go.mod.license | 3 + go.sum.license | 3 + proto/BUILD.bazel.license | 3 + proto/google/rpc/status.proto.license | 3 + proto/p4/config/v1/BUILD.bazel.license | 3 + proto/p4/v1/BUILD.bazel.license | 3 + py/LICENSE | 202 +++++++++++++++++- py/REUSE.toml | 8 + py/setup.cfg | 4 + rust/Cargo.lock.license | 3 + rust/README.md | 6 + tools/asciidocint.conf.json.license | 3 + tools/reuse-annotate-font-files.sh | 2 +- 45 files changed, 380 insertions(+), 2 deletions(-) create mode 100644 .bazelversion.license create mode 100644 BUILD.bazel.license create mode 100644 MODULE.bazel.license create mode 100644 WORKSPACE.bzlmod.license create mode 100644 bazel/example/using-bzlmod/BUILD.bazel.license create mode 100644 bazel/example/using-bzlmod/MODULE.bazel.license create mode 100644 docs/libre-office.png.license create mode 100644 docs/tools/fonts/fix_helvetica.conf.license create mode 100644 go.mod.license create mode 100644 go.sum.license create mode 100644 proto/BUILD.bazel.license create mode 100644 proto/google/rpc/status.proto.license create mode 100644 proto/p4/config/v1/BUILD.bazel.license create mode 100644 proto/p4/v1/BUILD.bazel.license mode change 120000 => 100644 py/LICENSE create mode 100644 py/REUSE.toml create mode 100644 rust/Cargo.lock.license create mode 100644 tools/asciidocint.conf.json.license diff --git a/.bazelignore b/.bazelignore index 5b1257b5..9e01c20d 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + # Exclude bazel sub-projects so `bazel build //...` works. bazel/example diff --git a/.bazelrc b/.bazelrc index 485124c0..1875eb39 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2026 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + # Use Bzlmod (`MODULE.bazel`) instead of `WORKSPACE.bazel`. common --enable_bzlmod common --noenable_workspace diff --git a/.bazelversion.license b/.bazelversion.license new file mode 100644 index 00000000..13ac34d7 --- /dev/null +++ b/.bazelversion.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cc8125c3..3145aa65 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,4 +1,8 @@ --- +# SPDX-FileCopyrightText: 2018 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Bug report about: Create a report an issue with the code / documents hosted in this repository diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 6a2d0bd0..05d1c28d 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,4 +1,8 @@ --- +# SPDX-FileCopyrightText: 2018 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Feature request about: Suggest an idea for this project diff --git a/.github/workflows/any-branch-uploads.yml b/.github/workflows/any-branch-uploads.yml index 20cc7ae0..185e5763 100644 --- a/.github/workflows/any-branch-uploads.yml +++ b/.github/workflows/any-branch-uploads.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Any branch uploads on: diff --git a/.github/workflows/bazel-build.yml b/.github/workflows/bazel-build.yml index 4b2584f5..3053572f 100644 --- a/.github/workflows/bazel-build.yml +++ b/.github/workflows/bazel-build.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + name: "Bazel build of protobufs" on: diff --git a/.github/workflows/codegen.yml b/.github/workflows/codegen.yml index 8f612ab3..b750a503 100644 --- a/.github/workflows/codegen.yml +++ b/.github/workflows/codegen.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Check generated code on: diff --git a/.github/workflows/google-rpc-status-synced.yml b/.github/workflows/google-rpc-status-synced.yml index 6471fe8c..9e3333ae 100644 --- a/.github/workflows/google-rpc-status-synced.yml +++ b/.github/workflows/google-rpc-status-synced.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + name: Ensure google/rpc/status.proto is synced with upstream. on: diff --git a/.github/workflows/main-branch-uploads.yml b/.github/workflows/main-branch-uploads.yml index a1524449..149e17c7 100644 --- a/.github/workflows/main-branch-uploads.yml +++ b/.github/workflows/main-branch-uploads.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Main branch uploads on: diff --git a/.github/workflows/rust-build.yml b/.github/workflows/rust-build.yml index 5c1921b7..a2e4a24a 100644 --- a/.github/workflows/rust-build.yml +++ b/.github/workflows/rust-build.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + name: "Rust build" on: diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index c7853919..1ce539b3 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Build spec on: diff --git a/.github/workflows/tag-uploads.yml b/.github/workflows/tag-uploads.yml index eba67203..fb21bc0e 100644 --- a/.github/workflows/tag-uploads.yml +++ b/.github/workflows/tag-uploads.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + name: Tag uploads on: diff --git a/.gitignore b/.gitignore index c2889b78..e2830d42 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2018 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + # Emacs *~ docs/v1/build/ diff --git a/BUILD.bazel.license b/BUILD.bazel.license new file mode 100644 index 00000000..16d9d518 --- /dev/null +++ b/BUILD.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b357f9ab..1265c746 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,9 @@ + + You can fork the repo and submit a pull request in Github. ### Apache CLA diff --git a/MODULE.bazel.license b/MODULE.bazel.license new file mode 100644 index 00000000..16d9d518 --- /dev/null +++ b/MODULE.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/README.md b/README.md index 518526ad..3f55031d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ + + # P4Runtime P4 is a language for programming the data plane of network devices. diff --git a/WORKSPACE.bzlmod.license b/WORKSPACE.bzlmod.license new file mode 100644 index 00000000..16d9d518 --- /dev/null +++ b/WORKSPACE.bzlmod.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/bazel/example/using-bzlmod/.bazelrc b/bazel/example/using-bzlmod/.bazelrc index 30b14f06..78241bef 100644 --- a/bazel/example/using-bzlmod/.bazelrc +++ b/bazel/example/using-bzlmod/.bazelrc @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 Steffen Smolka +# +# SPDX-License-Identifier: Apache-2.0 + # Use Bzlmod (`MODULE.bazel`) instead of `WORKSPACE.bazel`. common --enable_bzlmod common --noenable_workspace diff --git a/bazel/example/using-bzlmod/BUILD.bazel.license b/bazel/example/using-bzlmod/BUILD.bazel.license new file mode 100644 index 00000000..dc4a2cd1 --- /dev/null +++ b/bazel/example/using-bzlmod/BUILD.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/bazel/example/using-bzlmod/MODULE.bazel.license b/bazel/example/using-bzlmod/MODULE.bazel.license new file mode 100644 index 00000000..dc4a2cd1 --- /dev/null +++ b/bazel/example/using-bzlmod/MODULE.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/docs/README.md b/docs/README.md index 775e7b26..a4254ae7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,9 @@ + + # P4Runtime specification documents ## Inline code with backticks diff --git a/docs/libre-office.png.license b/docs/libre-office.png.license new file mode 100644 index 00000000..56e14dd1 --- /dev/null +++ b/docs/libre-office.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2018 Antonin Bas + +SPDX-License-Identifier: Apache-2.0 diff --git a/docs/tools/Dockerfile.asciidoc b/docs/tools/Dockerfile.asciidoc index ce5df55b..a6dc6ba5 100644 --- a/docs/tools/Dockerfile.asciidoc +++ b/docs/tools/Dockerfile.asciidoc @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Davide Scano +# +# SPDX-License-Identifier: Apache-2.0 + FROM ruby:3.3.5 LABEL maintainer="P4 API Working Group " LABEL description="Dockerfile used for building the asciidoc specification" diff --git a/docs/tools/README.md b/docs/tools/README.md index 893b2488..f8b5c13f 100644 --- a/docs/tools/README.md +++ b/docs/tools/README.md @@ -1,3 +1,9 @@ + + Dockerfile.asciidoc is used to build a Docker image which we use to render the P4Runtime specification (HTML & PDF) in CI. The image can also be used locally to build the specification without having to worry about installing all the diff --git a/docs/tools/fonts/fix_helvetica.conf.license b/docs/tools/fonts/fix_helvetica.conf.license new file mode 100644 index 00000000..56e14dd1 --- /dev/null +++ b/docs/tools/fonts/fix_helvetica.conf.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2018 Antonin Bas + +SPDX-License-Identifier: Apache-2.0 diff --git a/docs/v1/README.md b/docs/v1/README.md index f2e64923..689ab717 100644 --- a/docs/v1/README.md +++ b/docs/v1/README.md @@ -1,3 +1,9 @@ + + # P4Runtime Specification Version 1 This directory contains the sources for generating the official P4Runtime diff --git a/docs/v1/guidance-for-generating-p4info.md b/docs/v1/guidance-for-generating-p4info.md index 87a4c1d9..02425af4 100644 --- a/docs/v1/guidance-for-generating-p4info.md +++ b/docs/v1/guidance-for-generating-p4info.md @@ -1,3 +1,9 @@ + + # Guidance for generating P4Info messages diff --git a/docs/v1/p4runtime-id-notes.md b/docs/v1/p4runtime-id-notes.md index b4880572..eb6a7d98 100644 --- a/docs/v1/p4runtime-id-notes.md +++ b/docs/v1/p4runtime-id-notes.md @@ -1,3 +1,9 @@ + + # P4Runtime numeric id notes There are many kinds of numeric identifiers used in the P4Runtime API diff --git a/docs/v1/resources/figs/.gitignore b/docs/v1/resources/figs/.gitignore index d31c7f4d..e1610695 100644 --- a/docs/v1/resources/figs/.gitignore +++ b/docs/v1/resources/figs/.gitignore @@ -1 +1,5 @@ +# SPDX-FileCopyrightText: 2025 Davide Scano +# +# SPDX-License-Identifier: Apache-2.0 + stem* diff --git a/docs/v1/resources/theme/references.bib b/docs/v1/resources/theme/references.bib index af567ffb..2248f2f6 100644 --- a/docs/v1/resources/theme/references.bib +++ b/docs/v1/resources/theme/references.bib @@ -1,3 +1,9 @@ +@Comment{ +SPDX-FileCopyrightText: 2025 Davide Scano + +SPDX-License-Identifier: Apache-2.0 +} + @ONLINE { P4RuntimeRepo, title = "p4lang/p4Runtime repository", subtitle = "P4Runtime Protobuf definition files and specification", diff --git a/go.mod.license b/go.mod.license new file mode 100644 index 00000000..d5af96c4 --- /dev/null +++ b/go.mod.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2020 Antonin Bas + +SPDX-License-Identifier: Apache-2.0 diff --git a/go.sum.license b/go.sum.license new file mode 100644 index 00000000..d5af96c4 --- /dev/null +++ b/go.sum.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2020 Antonin Bas + +SPDX-License-Identifier: Apache-2.0 diff --git a/proto/BUILD.bazel.license b/proto/BUILD.bazel.license new file mode 100644 index 00000000..bf8ae90a --- /dev/null +++ b/proto/BUILD.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2020 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/proto/google/rpc/status.proto.license b/proto/google/rpc/status.proto.license new file mode 100644 index 00000000..4831fd99 --- /dev/null +++ b/proto/google/rpc/status.proto.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Google LLC + +SPDX-License-Identifier: Apache-2.0 diff --git a/proto/p4/config/v1/BUILD.bazel.license b/proto/p4/config/v1/BUILD.bazel.license new file mode 100644 index 00000000..16d9d518 --- /dev/null +++ b/proto/p4/config/v1/BUILD.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/proto/p4/v1/BUILD.bazel.license b/proto/p4/v1/BUILD.bazel.license new file mode 100644 index 00000000..16d9d518 --- /dev/null +++ b/proto/p4/v1/BUILD.bazel.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2026 Steffen Smolka + +SPDX-License-Identifier: Apache-2.0 diff --git a/py/LICENSE b/py/LICENSE deleted file mode 120000 index ea5b6064..00000000 --- a/py/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../LICENSE \ No newline at end of file diff --git a/py/LICENSE b/py/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/py/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/py/REUSE.toml b/py/REUSE.toml new file mode 100644 index 00000000..b90f2b98 --- /dev/null +++ b/py/REUSE.toml @@ -0,0 +1,8 @@ +version = 1 + +[[annotations]] +path = [ + "p4/**" +] +SPDX-FileCopyrightText = "2020 The P4 Language Consortium" +SPDX-License-Identifier = "Apache-2.0" diff --git a/py/setup.cfg b/py/setup.cfg index ba48f6f2..d079d08d 100644 --- a/py/setup.cfg +++ b/py/setup.cfg @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2022 Antonin Bas +# +# SPDX-License-Identifier: Apache-2.0 + [metadata] name = p4runtime description = Python bindings for P4Runtime protocol diff --git a/rust/Cargo.lock.license b/rust/Cargo.lock.license new file mode 100644 index 00000000..5e3c83e5 --- /dev/null +++ b/rust/Cargo.lock.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 Campbell He + +SPDX-License-Identifier: Apache-2.0 diff --git a/rust/README.md b/rust/README.md index b3432796..03b4dcd8 100644 --- a/rust/README.md +++ b/rust/README.md @@ -1,3 +1,9 @@ + + # P4Runtime Rust Crates This directory contains Rust crates for the P4Runtime API specification. diff --git a/tools/asciidocint.conf.json.license b/tools/asciidocint.conf.json.license new file mode 100644 index 00000000..46f3920c --- /dev/null +++ b/tools/asciidocint.conf.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2025 Davide Scano + +SPDX-License-Identifier: Apache-2.0 diff --git a/tools/reuse-annotate-font-files.sh b/tools/reuse-annotate-font-files.sh index 288ca855..7007a84b 100644 --- a/tools/reuse-annotate-font-files.sh +++ b/tools/reuse-annotate-font-files.sh @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: 2026 Andy Fingerhut # -# SPDX-License-Identifier: apache +# SPDX-License-Identifier: Apache-2.0 # This is a simple Bash script that demonstrates one way to add # copyright and license information for files using the `reuse From f9de1d1572b85012e45d9ec1137b966cc0ea6cfa Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Sat, 9 May 2026 04:16:20 +0000 Subject: [PATCH 2/3] Add copyright and license for the last two files Signed-off-by: Andy Fingerhut --- docs/v1/resources/fonts/verify-font | 12 +++++++++++- docs/v1/resources/theme/p4-stylesheet.css.license | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docs/v1/resources/theme/p4-stylesheet.css.license diff --git a/docs/v1/resources/fonts/verify-font b/docs/v1/resources/fonts/verify-font index c163d51d..66175677 100644 --- a/docs/v1/resources/fonts/verify-font +++ b/docs/v1/resources/fonts/verify-font @@ -1,5 +1,15 @@ +# SPDX-FileCopyrightText: 2012 Dan Allen +# SPDX-FileCopyrightText: 2012 Ryan Waldron +# SPDX-FileCopyrightText: 2012 Sarah White +# SPDX-FileCopyrightText: 2012 the individual contributors to Asciidoctor +# +# SPDX-License-Identifier: MIT + +# Source: The Asciidoctor PDF documentation. +# Retrieved 2025 from https://docs.asciidoctor.org/pdf-converter/latest/theme/prepare-custom-font/ + require 'ttfunk' require 'ttfunk/subset_collection' ttf_subsets = TTFunk::SubsetCollection.new TTFunk::File.open ARGV[0] -(0...(ttf_subsets.instance_variable_get :@subsets).size).each {|idx| ttf_subsets[idx].encode } \ No newline at end of file +(0...(ttf_subsets.instance_variable_get :@subsets).size).each {|idx| ttf_subsets[idx].encode } diff --git a/docs/v1/resources/theme/p4-stylesheet.css.license b/docs/v1/resources/theme/p4-stylesheet.css.license new file mode 100644 index 00000000..adc0fe0c --- /dev/null +++ b/docs/v1/resources/theme/p4-stylesheet.css.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2013 Jonathan Neal +SPDX-FileCopyrightText: 2013 Nicolas Gallagher + +SPDX-License-Identifier: MIT From 95d144cba2c9455172e126235e61a7272ff0e3d7 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Mon, 11 May 2026 20:08:32 +0000 Subject: [PATCH 3/3] Add top level LICENSE file as a symbolic link to LICENSES/Apache-2.0 Signed-off-by: Andy Fingerhut --- LICENSE | 1 + 1 file changed, 1 insertion(+) create mode 120000 LICENSE diff --git a/LICENSE b/LICENSE new file mode 120000 index 00000000..5431dc12 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +LICENSES/Apache-2.0.txt \ No newline at end of file