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:

getbootstrap.com

License:

MIT

Used by the dashboard tool only and never linked into a Zephyr firmware image.

Files (2):

Bosch BMI08x Sensor Configuration File

Origin:

github.com/BoschSensortec/BMI08x-Sensor-API

License:

BSD-3-Clause

Enabled by:

CONFIG_BMI08X

Sensor configuration data compiled into the firmware only when the BMI08x driver is enabled.

Files (1):

Coccinelle Scripts

Origin:

coccinelle.gitlabpages.inria.fr/website

License:

GPL-2.0

Used by Coccinelle, a tool for transforming C code, and never linked into the firmware.

Files (8):

Continuous Integration Scripts

Origin:

www.kernel.org

License:

GPL-2.0

Used in Continuous Integration (CI) and never linked into the firmware.

Files (3):

Doxygen Awesome CSS Theme Files

Origin:

github.com/jothepro/doxygen-awesome-css

License:

MIT

Style the Doxygen API documentation and are never linked into a firmware.

Files (4):

ENE KB1200_EVB Board OpenOCD Configuration

Origin:

openocd.org

License:

GPL-2.0-or-later

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:

CONFIG_FUSE_CLIENT

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:

gcc.gnu.org

License:

GPL-3.0-or-later WITH GCC-exception-3.1

Enabled by:

CONFIG_COVERAGE_GCOV

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:

www.netbsd.org

License:

BSD-3-Clause

Enabled by:

CONFIG_GETOPT

Compiled into the firmware only when getopt() support is enabled.

Files (3):

Godot Documentation Theme Files

Origin:

github.com/godotengine/godot-docs

License:

CC-BY-3.0

Customize the Sphinx theme used to render the documentation and are never linked into a firmware.

Files (4):

HTTP Parser Files

Origin:

github.com/nodejs/http-parser

License:

MIT

Enabled by:

CONFIG_HTTP_PARSER

Compiled into the firmware only when the HTTP parser is enabled.

Files (5):

Kconfiglib Configuration Library

Origin:

github.com/ulfalizer/Kconfiglib

License:

ISC

Used to process Kconfig files at build time and never linked into the firmware.

Files (4):

littlefs Configuration Files

Origin:

github.com/littlefs-project/littlefs

License:

BSD-3-Clause

Enabled by:

CONFIG_FILE_SYSTEM_LITTLEFS

Compiled into the firmware only when the littlefs file system is enabled.

Files (2):

Minimal libc atoi File

Origin:

musl.libc.org

License:

MIT

Enabled by:

CONFIG_MINIMAL_LIBC

Compiled into the firmware only when the minimal C library is selected.

Files (1):

Minimal libc BSD String and Conversion Files

License:

BSD-3-Clause

Enabled by:

CONFIG_MINIMAL_LIBC

Compiled into the firmware only when the minimal C library is selected.

Files (5):

Modern CMake Sphinx Domain

Origin:

gitlab.kitware.com/cmake/cmake/-/tree/master/Utilities/Sphinx

License:

BSD-3-Clause

Provide the CMake domain used to render the documentation and are never linked into a firmware.

Files (3):

noUiSlider Library

Origin:

refreshless.com/nouislider

License:

MIT

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:

www.op-tee.org

License:

BSD-2-Clause

Enabled by:

CONFIG_OPTEE

Compiled into the firmware only when the OP-TEE driver is enabled.

Files (3):

OpenThread Spinel HDLC RCP Host Interface Files

Origin:

openthread.io

License:

BSD-3-Clause

Enabled by:

CONFIG_HDLC_RCP_IF

Linked into the firmware only when the Spinel HDLC RCP host interface is enabled.

Files (3):

Popper.js Library

Origin:

popper.js.org

License:

MIT

Used by Tippy.js to position the documentation’s Doxygen tooltips and is never linked into a firmware.

Files (1):

POSIX fnmatch Files

License:

BSD-3-Clause

Enabled by:

CONFIG_POSIX_C_LIB_EXT

Compiled into the firmware only when the POSIX C library extensions are enabled.

Files (2):

POSIX sys/stat.h Header

License:

BSD-3-Clause

Provides the POSIX file-status definitions; compiled into the firmware wherever it is included.

Files (1):

Python Devicetree Library Files

Origin:

github.com/zephyrproject-rtos/python-devicetree

License:

BSD-3-Clause

Parse devicetree sources at build time and are never linked into the firmware.

Files (8):

Python Devicetree Library Test Files

Origin:

github.com/zephyrproject-rtos/python-devicetree

License:

BSD-3-Clause

Used only when testing the python-devicetree library and never linked into the firmware.

Files (100):

RISC-V Control and Status Register Header

License:

SHL-0.51

Enabled by:

CONFIG_RISCV

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:

BSD-3-Clause

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:

www.trustedfirmware.org/projects/tf-m

License:

BSD-3-Clause

Used only when building the TF-M secure partition integration sample.

Files (2):

Thread-Metric RTOS Test Suite Source Files

Origin:

github.com/eclipse-threadx/threadx

License:

MIT

Linked only into the Thread-Metric RTOS Test Suite test firmware.

Files (12):

Tippy.js Library

Origin:

atomiks.github.io/tippyjs

License:

MIT

Renders the tooltips of the documentation’s Doxygen tooltip extension and is never linked into a firmware.

Files (1):

UF2 Conversion Script

Origin:

github.com/microsoft/uf2

License:

MIT

Converts firmware images to UF2 at build time and is never linked into the firmware.

Files (1):

USB Device Stack Headers

License:

BSD-3-Clause

Enabled by:

CONFIG_USB_DEVICE_STACK

Part of the legacy USB device stack, compiled into the firmware only when it is enabled.

Files (2):

WireGuard VPN Files

Origin:

github.com/smartalock/wireguard-lwip

License:

BSD-3-Clause

Enabled by:

CONFIG_WIREGUARD

Compiled into the firmware only when WireGuard is enabled.

Files (7):

Xen Hypervisor Interface Files

Origin:

xenproject.org

License:

MIT

Enabled by:

CONFIG_XEN

Compiled into the firmware only when Xen guest support is enabled.

Files (1):

xoshiro128++ PRNG

Origin:

prng.di.unimi.it

License:

CC0-1.0

Enabled by:

CONFIG_XOSHIRO_RANDOM_GENERATOR

Compiled into the firmware only when the xoshiro128++ PRNG is selected.

Files (1):

Xtensa Startup Assembly Files

License:

MIT

Enabled by:

CONFIG_XTENSA_RESET_VECTOR

Compiled into the firmware only when the Xtensa reset vector is enabled.

Files (2):