Licensing of Zephyr Project components
Zephyr as a whole is licensed under the Apache 2.0 License. It does, however, import or reuse a small number of packages, scripts and other files that are covered by other licenses. In some cases there is no way to add a license header to those files, so their licensing is declared centrally, in a machine-readable form, in the REUSE.toml file at the root of the repository (following the REUSE specification).
The sections below are generated automatically from that metadata, so they
always reflect the actual state of the tree. To add, update or remove an entry,
edit the corresponding [[annotations]] block in REUSE.toml
rather than this page (see Contributing External Components).
Note
This page lists licensing exceptions only. It does not define the license of the Zephyr project itself, which is Apache 2.0 as specified in the LICENSE file at the root of the repository.
Bootstrap JavaScript and CSS Files
- Origin:
- License:
Used by the dashboard tool only and never linked into a Zephyr firmware image.
Files (2):
Bosch BMI08x Sensor Configuration File
- Origin:
- License:
- Enabled by:
Sensor configuration data compiled into the firmware only when the BMI08x driver is enabled.
Files (1):
Coccinelle Scripts
- Origin:
- License:
Used by Coccinelle, a tool for transforming C code, and never linked into the firmware.
Files (8):
Continuous Integration Scripts
- Origin:
- License:
Used in Continuous Integration (CI) and never linked into the firmware.
Files (3):
Doxygen Awesome CSS Theme Files
- Origin:
- License:
Style the Doxygen API documentation and are never linked into a firmware.
Files (4):
ENE KB1200_EVB Board OpenOCD Configuration
- Origin:
- License:
Used by OpenOCD when programming and debugging the kb1200_evb board. Never linked into the firmware.
Files (1):
FUSE Interface Definition Header File
- License:
GPL-2.0 WITH Linux-syscall-note OR BSD-2-Clause- Enabled by:
Used under the BSD-2-Clause option of its dual license. Only built when the gating option is enabled.
Files (1):
GCOV Coverage Header File
- Origin:
- License:
GPL-3.0-or-later WITH GCC-exception-3.1- Enabled by:
Linked into the firmware only when GCOV coverage is enabled; covered by the GCC Runtime Library Exception.
Files (1):
getopt Command-line Parsing Files
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when getopt() support is enabled.
Files (3):
Godot Documentation Theme Files
- Origin:
- License:
Customize the Sphinx theme used to render the documentation and are never linked into a firmware.
Files (4):
HTTP Parser Files
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when the HTTP parser is enabled.
Files (5):
Kconfiglib Configuration Library
- Origin:
- License:
Used to process Kconfig files at build time and never linked into the firmware.
Files (4):
littlefs Configuration Files
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when the littlefs file system is enabled.
Files (2):
Minimal libc atoi File
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when the minimal C library is selected.
Files (1):
Minimal libc BSD String and Conversion Files
- License:
- Enabled by:
Compiled into the firmware only when the minimal C library is selected.
Files (5):
Modern CMake Sphinx Domain
Provide the CMake domain used to render the documentation and are never linked into a firmware.
Files (3):
noUiSlider Library
- Origin:
- License:
Provides the flash/RAM range sliders in the board catalog and is never linked into a firmware.
Files (2):
OP-TEE Message Interface Headers
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when the OP-TEE driver is enabled.
Files (3):
OpenThread Spinel HDLC RCP Host Interface Files
- Origin:
- License:
- Enabled by:
Linked into the firmware only when the Spinel HDLC RCP host interface is enabled.
Files (3):
Popper.js Library
- Origin:
- License:
Used by Tippy.js to position the documentation’s Doxygen tooltips and is never linked into a firmware.
Files (1):
POSIX fnmatch Files
- License:
- Enabled by:
Compiled into the firmware only when the POSIX C library extensions are enabled.
Files (2):
POSIX sys/stat.h Header
- License:
Provides the POSIX file-status definitions; compiled into the firmware wherever it is included.
Files (1):
Python Devicetree Library Files
- Origin:
- License:
Parse devicetree sources at build time and are never linked into the firmware.
Files (8):
Python Devicetree Library Test Files
- Origin:
- License:
Used only when testing the python-devicetree library and never linked into the firmware.
Files (100):
scripts/dts/python-devicetree/tests/test-bindings-2/multidir.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/allow-and-blocklist-child.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/allow-and-blocklist-multilevel.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/allow-and-blocklist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/allow-not-list.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/allowlist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/block-not-list.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/blocklist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/empty-allowlist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/empty-blocklist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/filter-child-bindings.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include-2.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include-invalid-keys.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include-invalid-type.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include-no-list.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include-no-name.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/include.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/intermixed.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/simple.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/simple_filter_allowlist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/simple_filter_blocklist.yaml
scripts/dts/python-devicetree/tests/test-bindings-include/simple_inherit.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/base.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/base_amend.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/base_inherit.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/base_multi.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/compat_desc.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/compat_desc_base.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/compat_desc_multi.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/default_base.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/default_override.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/default_override_include.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/default_required.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/diamond.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/filter_allows_notblocked.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/filter_among_allowed.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/filter_among_notblocked.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_child_propconst.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_child_propdefault.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_child_propenum.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_child_propreq.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_child_proptype.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_grandchild_propconst.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_grandchild_propdefault.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_grandchild_propenum.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_grandchild_propreq.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_grandchild_proptype.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_propconst.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_propdefault.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_propenum.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_propreq.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/invalid_proptype.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/simple.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/simple_allowlist.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/simple_blocklist.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/simple_inherit.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/thing.yaml
scripts/dts/python-devicetree/tests/test-bindings-init/vnd,thing.yaml
scripts/dts/python-devicetree/tests/test-bindings/bar-bus.yaml
scripts/dts/python-devicetree/tests/test-bindings/child-binding-with-compat.yaml
scripts/dts/python-devicetree/tests/test-bindings/child-binding.yaml
scripts/dts/python-devicetree/tests/test-bindings/child.yaml
scripts/dts/python-devicetree/tests/test-bindings/defaults.yaml
scripts/dts/python-devicetree/tests/test-bindings/dependency-mode.yaml
scripts/dts/python-devicetree/tests/test-bindings/deprecated.yaml
scripts/dts/python-devicetree/tests/test-bindings/device-on-any-bus.yaml
scripts/dts/python-devicetree/tests/test-bindings/device-on-bar-bus.yaml
scripts/dts/python-devicetree/tests/test-bindings/device-on-foo-bus.yaml
scripts/dts/python-devicetree/tests/test-bindings/enums.yaml
scripts/dts/python-devicetree/tests/test-bindings/false-positive.yaml
scripts/dts/python-devicetree/tests/test-bindings/foo-bus.yaml
scripts/dts/python-devicetree/tests/test-bindings/foo-optional.yaml
scripts/dts/python-devicetree/tests/test-bindings/foo-required.yaml
scripts/dts/python-devicetree/tests/test-bindings/gpio-dst.yaml
scripts/dts/python-devicetree/tests/test-bindings/gpio-src.yaml
scripts/dts/python-devicetree/tests/test-bindings/grandchild-1.yaml
scripts/dts/python-devicetree/tests/test-bindings/grandchild-2.yaml
scripts/dts/python-devicetree/tests/test-bindings/grandchild-3.yaml
scripts/dts/python-devicetree/tests/test-bindings/interrupt-1-cell.yaml
scripts/dts/python-devicetree/tests/test-bindings/interrupt-2-cell.yaml
scripts/dts/python-devicetree/tests/test-bindings/interrupt-3-cell.yaml
scripts/dts/python-devicetree/tests/test-bindings/malformed-cells.yaml
scripts/dts/python-devicetree/tests/test-bindings/min-max-len.yaml
scripts/dts/python-devicetree/tests/test-bindings/min-max.yaml
scripts/dts/python-devicetree/tests/test-bindings/multidir.yaml
scripts/dts/python-devicetree/tests/test-bindings/order-1.yaml
scripts/dts/python-devicetree/tests/test-bindings/order-2.yaml
scripts/dts/python-devicetree/tests/test-bindings/parent.yaml
scripts/dts/python-devicetree/tests/test-bindings/phandle-array-controller-0.yaml
scripts/dts/python-devicetree/tests/test-bindings/phandle-array-controller-1.yaml
scripts/dts/python-devicetree/tests/test-bindings/phandle-array-controller-2.yaml
scripts/dts/python-devicetree/tests/test-bindings/props.yaml
scripts/dts/python-devicetree/tests/test-bindings/test-cpu-fallback.yaml
scripts/dts/python-devicetree/tests/test-bindings/unknown-toplevel-key.yaml
scripts/dts/python-devicetree/tests/test-bindings/vendor-namespaced-keys.yaml
scripts/dts/python-devicetree/tests/test-wrong-bindings/wrong-address-cells-default.yaml
scripts/dts/python-devicetree/tests/test-wrong-bindings/wrong-phandle-array-name.yaml
scripts/dts/python-devicetree/tests/test-wrong-bindings/wrong-size-cells-default.yaml
scripts/dts/python-devicetree/tests/test-wrong-bindings/wrong-specifier-space-type.yaml
scripts/dts/python-devicetree/tests/test-wrong-bindings/wrong-status-default.yaml
RISC-V Control and Status Register Header
- License:
- Enabled by:
RISC-V control and status register access helpers, also available under Apache-2.0; compiled into the firmware only on RISC-V targets.
Files (1):
RV32M1 VEGA Board OpenOCD Configuration
- License:
Used by OpenOCD when programming and debugging the rv32m1_vega board. Never linked into the firmware.
Files (2):
TF-M Secure Partition Sample Files
- Origin:
- License:
Used only when building the TF-M secure partition integration sample.
Files (2):
Thread-Metric RTOS Test Suite Source Files
- Origin:
- License:
Linked only into the Thread-Metric RTOS Test Suite test firmware.
Files (12):
tests/benchmarks/thread_metric/src/tm_basic_processing_test.c
tests/benchmarks/thread_metric/src/tm_cooperative_scheduling_test.c
tests/benchmarks/thread_metric/src/tm_interrupt_preemption_processing_test.c
tests/benchmarks/thread_metric/src/tm_interrupt_processing_test.c
tests/benchmarks/thread_metric/src/tm_memory_allocation_test.c
tests/benchmarks/thread_metric/src/tm_message_processing_test.c
tests/benchmarks/thread_metric/src/tm_porting_layer_zephyr.c
tests/benchmarks/thread_metric/src/tm_preemptive_scheduling_test.c
tests/benchmarks/thread_metric/src/tm_synchronization_processing_test.c
Tippy.js Library
- Origin:
- License:
Renders the tooltips of the documentation’s Doxygen tooltip extension and is never linked into a firmware.
Files (1):
UF2 Conversion Script
- Origin:
- License:
Converts firmware images to UF2 at build time and is never linked into the firmware.
Files (1):
USB Device Stack Headers
- License:
- Enabled by:
Part of the legacy USB device stack, compiled into the firmware only when it is enabled.
Files (2):
WireGuard VPN Files
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when WireGuard is enabled.
Files (7):
Xen Hypervisor Interface Files
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when Xen guest support is enabled.
Files (1):
xoshiro128++ PRNG
- Origin:
- License:
- Enabled by:
Compiled into the firmware only when the xoshiro128++ PRNG is selected.
Files (1):
Xtensa Startup Assembly Files
- License:
- Enabled by:
Compiled into the firmware only when the Xtensa reset vector is enabled.
Files (2):