1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-22 13:33:56 +03:00

add LICENSES/README.md explaining the license situation

This commit is contained in:
Luca Boccassi 2021-09-29 18:42:57 +01:00
parent f4d74c6105
commit 7fe57498de
3 changed files with 63 additions and 7 deletions

61
LICENSES/README.md Normal file
View File

@ -0,0 +1,61 @@
# systemd Project Licensing
## Main License
The systemd project uses single-line references to Unique Licese Identifiers as
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
and conditions of the **GNU Lesser General Public License v2.1 or later**.
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:
* some udev sources under src/udev/ are licensed under **GPL-2.0-or-later**, so the
udev binaries as a whole are also distributed under **GPL-2.0-or-later**.
* the header files contained in src/basic/linux/ and src/shared/linux/ are copied
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
* the src/shared/initreq.h header is licensed under original license,
**LGPL-2.0-or-later**.
* the src/shared/linux/bpf_insn.h header is copied from the Linux kernel
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.
* The src/basic/linux/wireguard.h header is copied from the Linux kernel
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
- man/glib-event-glue.c
- src/basic/linux/batman_adv.h
- 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
- src/systemctl/systemd-sysv-install.SKELETON
- tools/check-includes.pl
- all examples, code and scripts, under man/ except where otherwise noted
* 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.
* any files under test/ without an explicit license we assume non-copyrightable
(eg: computer-generated fuzzer data)

7
README
View File

@ -25,12 +25,7 @@ AUTHOR:
...and many others
LICENSE:
LGPLv2.1+ for all code
- except src/basic/MurmurHash2.c which is Public Domain
- except src/basic/siphash24.c which is CC0 Public Domain
- except src/journal/lookup3.c which is Public Domain
- except src/udev/* which is (currently still) GPLv2, GPLv2+
- except tools/chromiumos/* which is BSD-style
LGPL-2.1-or-later for all code, exceptions noted in LICENSES/README.md
REQUIREMENTS:
Linux kernel >= 3.13

View File

@ -37,7 +37,7 @@ See [reporting of security vulnerabilities](SECURITY.md).
* Make sure to run the test suite locally, before posting your PR. We use a CI system, meaning we don't even look at your PR, if the build and tests don't pass.
* If you need to update the code in an existing PR, force-push into the same branch, overriding old commits with new versions.
* After you have pushed a new version, add a comment about the new version (no notification is sent just for the commits, so it's easy to miss the update without an explicit comment). If you are a member of the systemd project on GitHub, remove the `reviewed/needs-rework` label.
* If you are copying existing code from another source (eg: a compat header), please make sure the license is compatible with GPL-2.0-or-later.
* If you are copying existing code from another source (eg: a compat header), please make sure the license is compatible with LGPL-2.1-or-later. If the license is not LGPL-2.1-or-later, please add a note to LICENSES/README.md.
## Final Words