Skip to content

Add REUSE compliance configuration#1895

Merged
charles-lunarg merged 2 commits into
mainfrom
add-reuse-compliance-SKIP-CI
May 8, 2026
Merged

Add REUSE compliance configuration#1895
charles-lunarg merged 2 commits into
mainfrom
add-reuse-compliance-SKIP-CI

Conversation

@KhronosWebservices
Copy link
Copy Markdown
Member

  • Add REUSE.toml with copyright and license annotations for all 279 files
  • Create custom license texts: LicenseRef-KhronosFreeUse and LicenseRef-dirent
  • Add GitHub workflow for automated REUSE compliance checks
  • Download missing MIT license to LICENSES/

Achieves REUSE 3.3 specification compliance.

License Exceptions to review:

License Exceptions

This file documents files that have no explicit license or copyright header and whose
annotations in REUSE.toml were assigned using the project default fallback
(Apache-2.0, The Khronos Group, Inc.) or a closely related annotation.
Maintainers should verify or add headers before treating these annotations as final.


tests/framework/data/CMakeLists.txt

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: CMake build file in the test framework; all sibling CMakeLists.txt files in this repo are Apache-2.0. No header present.

scripts/qnx/loader_cmake_config.h

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Two-line QNX-specific header containing only #undef directives. Part of the QNX build support added by the project. No header present.

scripts/qnx/Makefile, scripts/qnx/common.mk, scripts/qnx/nto/**/Makefile (9 files)

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: QNX build system files contributed as part of this project. No headers present. All other build files in the repo are Apache-2.0.

loader/vulkan.pc.in

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: pkg-config template file. No header present. Sibling files in loader/ are Apache-2.0.

tests/framework/data/stub.cpp

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Single-function stub (void dummy() {}) used as a build placeholder. No header present.

tests/framework/data/fuzzer_output.json, tests/framework/data/VkLayer_complex_file.json

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: JSON test fixture files. No license information present.

tests/corpus/config.json, tests/corpus/VkLayer_complex_file.json, tests/corpus/config_with_other_arch.json, tests/corpus/config_with_unordered_layer_location.json

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: JSON corpus files for fuzz testing. No license information present.

tests/framework/data/fuzz_test_minimized_test_cases/** (34 files)

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Binary and text fuzzer crash-reproducer files generated by ClusterFuzz. No license information embedded. Generated from fuzzing the project's own code.

tests/framework/data/binaries/** (8 files)

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Pre-built ELF and PE shared libraries used as test fixtures for binary-format detection tests. Built from tests/framework/data/stub.cpp in this project. No license information embedded.

tests/framework/icd/export_definitions/*.def, tests/framework/layer/export_definitions/*.def (19 files)

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Windows DLL export definition files listing function names only. No license headers. Part of the test framework contributed by the project.

docs/images/*.png, docs/images/svgs/*.svg, docs/images/svgs/README.txt (19 files)

  • Chosen annotation: Apache-2.0, Valve Corporation and LunarG, Inc.
  • Rationale: The README.txt in docs/images/svgs/ explicitly states: "The svg image files in this folder were created using Inkscape 1.0.1 and are all copyrighted by Valve Corporation and LunarG, Inc under the Apache 2.0 license." PNGs are exports of the SVGs.

.clang-format, .gitattributes, .gitignore

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Repository tooling configuration files. No license headers. Applied project default.

.github/dependabot.yml, .github/ISSUE_TEMPLATE/bug_report.md, .github/ISSUE_TEMPLATE/feature_request.md

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: GitHub automation and issue template files. No license headers. Applied project default.

README.md, CONTRIBUTING.md, BUILD.md, GOVERNANCE.md, SECURITY.md, CODE_OF_CONDUCT.md, loader/README.md, loader/LoaderAndLayerInterface.md, tests/README.md, tests/framework/README.md, scripts/qnx/README.md, docs/Loader*.md, tests/live_verification/.../dynamic_loading_behavior.md

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Project documentation files. No license headers. Applied project default.

scripts/gn/DEPS, scripts/known_good.json

  • Chosen annotation: Apache-2.0, The Khronos Group, Inc.
  • Rationale: Dependency manifest files. No license headers. Applied project default.

- Add REUSE.toml with copyright and license annotations for all 279 files
- Create custom license texts: LicenseRef-KhronosFreeUse and LicenseRef-dirent
- Document license exceptions in LICENSE_EXCEPTIONS.md
- Add GitHub workflow for automated REUSE compliance checks
- Download missing MIT license to LICENSES/

Achieves REUSE 3.3 specification compliance.
@ci-tester-lunarg
Copy link
Copy Markdown

Author KhronosWebservices not on autobuild list. Waiting for curator authorization before starting CI build.

1 similar comment
@ci-tester-lunarg
Copy link
Copy Markdown

Author KhronosWebservices not on autobuild list. Waiting for curator authorization before starting CI build.

@charles-lunarg charles-lunarg merged commit d34e103 into main May 8, 2026
88 checks passed
@charles-lunarg charles-lunarg deleted the add-reuse-compliance-SKIP-CI branch May 8, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants