1# systemd Project Licensing
2
3## Main License
4
5The systemd project uses single-line references to Unique License Identifiers as
6defined by the Linux Foundation's SPDX project (https://spdx.org/). The line in
7each individual source file identifies the license applicable to that file.
8
9The current set of valid, predefined SPDX identifiers can be found on the SPDX
10License List at https://spdx.org/licenses/.
11
12The 'LICENSES/' directory contains all the licenses used by the sources included in
13the systemd project source tree.
14
15Unless otherwise noted, the systemd project sources are licensed under the terms
16and conditions of the **GNU Lesser General Public License v2.1 or later**.
17
18New sources that cannot be distributed under LGPL-2.1-or-later will no longer
19be accepted for inclusion in the systemd project to maintain license uniformity.
20
21## Other Licenses
22
23The following exceptions apply:
24
25 * some udev sources under src/udev/ are licensed under **GPL-2.0-or-later**, so the
26   udev binaries as a whole are also distributed under **GPL-2.0-or-later**.
27 * the header files contained in src/basic/linux/ and src/shared/linux/ are copied
28   verbatim from the Linux kernel source tree and are licensed under **GPL-2.0 WITH
29   Linux-syscall-note** and are used within the scope of the Linux-syscall-note
30   exception provisions
31 * the src/shared/initreq.h header is licensed under original license,
32   **LGPL-2.0-or-later**.
33 * the src/shared/linux/bpf_insn.h header is copied from the Linux kernel
34   source tree and is licensed under either **BSD-2-Clause** or **GPL-2.0-only**,
35   and thus is included in the systemd build under the BSD-2-Clause license.
36 * The src/basic/linux/wireguard.h header is copied from the Linux kernel
37   source tree and is licensed under either **MIT** or **GPL-2.0 WITH Linux-syscall-note**,
38   and thus is included in the systemd build under the MIT license.
39 * the following sources are licensed under the **MIT** license (in case of our
40   scripts, to facilitate copying and reuse of those helpers to other projects):
41   - hwdb.d/parse_hwdb.py
42   - src/basic/linux/batman_adv.h
43   - src/basic/sparse-endian.h
44   - tools/catalog-report.py
45 * the following sources are licensed under the **CC0-1.0** license:
46   - src/basic/siphash24.c
47   - src/basic/siphash24.h
48   - src/systemctl/systemd-sysv-install.SKELETON
49   - tools/check-includes.pl
50   - all examples under man/
51   - config files and examples under /network
52 * the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain):
53   - src/basic/MurmurHash2.c
54   - src/basic/MurmurHash2.h
55 * the following sources are under **Public Domain** (LicenseRef-lookup3-public-domain):
56   - src/libsystemd/sd-journal/lookup3.c
57   - src/libsystemd/sd-journal/lookup3.h
58 * the tools/chromiumos/gen_autosuspend_rules.py script is licensed under the
59   **BSD-3-Clause** license.
60 * Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**,
61 * any files under test/ without an explicit license we assume non-copyrightable
62   (eg: computer-generated fuzzer data)
63
64## OpenSSL Notes
65
66Note that building the systemd project with OpenSSL does not affect the libsystemd.so
67shared library, which is not linked with the OpenSSL library.
68