2021-09-29 18:42:57 +01:00
|
|
|
# systemd Project Licensing
|
|
|
|
|
|
|
|
|
|
## Main License
|
|
|
|
|
|
2021-10-11 12:17:31 +01:00
|
|
|
The systemd project uses single-line references to Unique License Identifiers as
|
2021-09-29 18:42:57 +01:00
|
|
|
defined by the Linux Foundation's SPDX project (https://spdx.org/). The line in
|
|
|
|
|
each individual source file identifies the license applicable to that file.
|
|
|
|
|
|
|
|
|
|
The current set of valid, predefined SPDX identifiers can be found on the SPDX
|
|
|
|
|
License List at https://spdx.org/licenses/.
|
|
|
|
|
|
|
|
|
|
The 'LICENSES/' directory contains all the licenses used by the sources included in
|
|
|
|
|
the systemd project source tree.
|
|
|
|
|
|
|
|
|
|
Unless otherwise noted, the systemd project sources are licensed under the terms
|
2024-06-28 13:22:40 +02:00
|
|
|
and conditions of
|
|
|
|
|
**LGPL-2.1-or-later** (**GNU Lesser General Public License v2.1 or later**).
|
|
|
|
|
|
|
|
|
|
Unless otherwise noted, compiled programs and all shared or static libraries
|
|
|
|
|
include sources under **LGPL-2.1-or-later** along with more permissive
|
|
|
|
|
licenses, and are effectively licensed **LGPL-2.1-or-later**.
|
|
|
|
|
systemd-udevd and other udev helper programs also include sources under
|
|
|
|
|
**GPL-2.0-or-later**, and are effectively licensed **GPL-2.0-or-later**.
|
2021-09-29 18:42:57 +01:00
|
|
|
|
|
|
|
|
New sources that cannot be distributed under LGPL-2.1-or-later will no longer
|
|
|
|
|
be accepted for inclusion in the systemd project to maintain license uniformity.
|
|
|
|
|
|
|
|
|
|
## Other Licenses
|
|
|
|
|
|
|
|
|
|
The following exceptions apply:
|
|
|
|
|
|
2024-06-28 13:22:40 +02:00
|
|
|
* some sources under src/udev/ are licensed under **GPL-2.0-or-later**,
|
|
|
|
|
so all udev programs (`systemd-udevd`, `udevadm`, and the udev builtins
|
|
|
|
|
and test programs) are also distributed under **GPL-2.0-or-later**.
|
2025-06-10 14:46:18 +09:00
|
|
|
Note, sources under src/libudev are licensed under **LGPL-2.1-or-later**,
|
|
|
|
|
so libudev library is also distributed under **LGPL-2.1-or-later**.
|
2025-07-24 12:20:26 +01:00
|
|
|
* the header files contained in src/include/uapi/linux/ are copied
|
2021-09-29 18:42:57 +01:00
|
|
|
verbatim from the Linux kernel source tree and are licensed under **GPL-2.0 WITH
|
|
|
|
|
Linux-syscall-note** and are used within the scope of the Linux-syscall-note
|
|
|
|
|
exception provisions
|
2025-04-21 04:17:45 +09:00
|
|
|
* the src/basic/utf8.c source is licensed under the **LGPL-2.0-or-later** license.
|
2025-07-24 12:20:26 +01:00
|
|
|
* the src/include/uapi/linux/bpf_insn.h header is copied from the Linux kernel
|
2021-09-29 18:42:57 +01:00
|
|
|
source tree and is licensed under either **BSD-2-Clause** or **GPL-2.0-only**,
|
|
|
|
|
and thus is included in the systemd build under the BSD-2-Clause license.
|
2025-07-24 12:20:26 +01:00
|
|
|
* The src/include/uapi/linux/wireguard.h header is copied from the Linux kernel
|
2021-09-29 18:42:57 +01:00
|
|
|
source tree and is licensed under either **MIT** or **GPL-2.0 WITH Linux-syscall-note**,
|
|
|
|
|
and thus is included in the systemd build under the MIT license.
|
|
|
|
|
* the following sources are licensed under the **MIT** license (in case of our
|
|
|
|
|
scripts, to facilitate copying and reuse of those helpers to other projects):
|
|
|
|
|
- hwdb.d/parse_hwdb.py
|
2025-07-24 12:20:26 +01:00
|
|
|
- src/include/uapi/linux/batman_adv.h
|
2021-09-29 18:42:57 +01:00
|
|
|
- src/basic/sparse-endian.h
|
|
|
|
|
- tools/catalog-report.py
|
|
|
|
|
* the following sources are licensed under the **CC0-1.0** license:
|
|
|
|
|
- src/basic/siphash24.c
|
|
|
|
|
- src/basic/siphash24.h
|
2023-07-09 06:16:10 +08:00
|
|
|
* the following sources are licensed under the **MIT-0** license:
|
2022-10-26 08:02:14 +02:00
|
|
|
- all examples under man/
|
2022-10-26 08:26:45 +02:00
|
|
|
- src/systemctl/systemd-sysv-install.SKELETON
|
2022-10-26 08:34:13 +02:00
|
|
|
- config files and examples under /network
|
2021-09-29 18:42:57 +01:00
|
|
|
* the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain):
|
|
|
|
|
- src/basic/MurmurHash2.c
|
|
|
|
|
- src/basic/MurmurHash2.h
|
|
|
|
|
* the following sources are under **Public Domain** (LicenseRef-lookup3-public-domain):
|
|
|
|
|
- src/libsystemd/sd-journal/lookup3.c
|
|
|
|
|
- src/libsystemd/sd-journal/lookup3.h
|
|
|
|
|
* the tools/chromiumos/gen_autosuspend_rules.py script is licensed under the
|
|
|
|
|
**BSD-3-Clause** license.
|
2024-09-10 16:58:20 +03:00
|
|
|
* the following sources are under **Public Domain** (LicenseRef-alg-sha1-public-domain):
|
|
|
|
|
- src/fundamental/sha1-fundamental.c
|
|
|
|
|
- src/fundamental/sha1-fundamental.h
|
2024-08-31 21:49:10 +03:00
|
|
|
* the following files are licensed under **BSD-3-Clause** license:
|
2025-07-24 12:20:26 +01:00
|
|
|
- src/boot/chid.c
|
|
|
|
|
- src/boot/chid.h
|
2021-10-18 08:40:04 +02:00
|
|
|
* Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**,
|
2021-09-29 18:42:57 +01:00
|
|
|
* any files under test/ without an explicit license we assume non-copyrightable
|
|
|
|
|
(eg: computer-generated fuzzer data)
|
2021-09-30 11:01:45 +01:00
|
|
|
|
|
|
|
|
## OpenSSL Notes
|
|
|
|
|
|
|
|
|
|
Note that building the systemd project with OpenSSL does not affect the libsystemd.so
|
|
|
|
|
shared library, which is not linked with the OpenSSL library.
|