systemd/LICENSES/README.md
Zbigniew Jędrzejewski-Szmek 1fe6d37ea5 man: change license of examples to MIT-0
Quoting Richard Fontana in [1]:

  CC0 has been listed by Fedora as a 'good' license for code and content
  (corresponding to allowed and allowed-content under the new system). We plan
  to classify CC0 as allowed-content only, so that CC0 would no longer be
  allowed for code.

  Over a long period of time a consensus has been building in FOSS that
  licenses that preclude any form of patent licensing or patent forbearance
  cannot be considered FOSS. CC0 has a clause that says: "No trademark or
  patent rights held by Affirmer are waived, abandoned, surrendered, licensed
  or otherwise affected by this document." (The trademark side of that clause
  is nonproblematic from a FOSS licensing norms standpoint.) The regular
  Creative Commons licenses have similar clauses.

For the case of our documentation snippets, patent issues do not matter much.
But it is always nicer to have a license that is considerred acceptable without
any further considerations. So let's change the license to the (now recommended
replacement) MIT-0.

[1] https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/NO7KGDNL5GX3KCB7T3XTGFA3QPSUJA6R/

Using 'git blame -b' and 'git log -p --follow', I identified the following
folks as having made non-trivial changes to those snippets:

  Lennart Poettering
  Tom Gundersen
  Luca Bocassi
  Zbigniew Jędrzejewski-Szmek
  Thomas Mühlbacher
  Daan De Meyer

I'll ask for confirmation in the pull request.
2022-10-26 08:39:34 +02:00

3.2 KiB

systemd Project Licensing

Main License

The systemd project uses single-line references to Unique License 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
    • 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
    • config files and examples under /network
  • the following sources are licensed under the MIT-0 license:
  • all examples under man/
  • 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.
  • Heebo fonts under docs/fonts/ are licensed under the SIL Open Font License 1.1,
  • any files under test/ without an explicit license we assume non-copyrightable (eg: computer-generated fuzzer data)

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.