From 29b2b11ef53eee2848dd06fba8c49003e17c539f Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Thu, 6 Jul 2023 11:35:11 -0400 Subject: [PATCH] Complete REUSE support The SPDX identifiers [1] are a legally binding shorthand, which can be used instead of the full boiler plate text. This is the final step towards implementing the full REUSE spec [2] to help with copyright and licensing audits and compliance. This will reduce a lot a manual work required for the licensing audit required in Debian on each update. [1] https://spdx.org/ids-how [2] https://reuse.software/tutorial/ Change-Id: Ia014969f407043d4ac48f4a8f3639c860ca2aafb Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- LICENSE | 59 ------------------------------------------------ LICENSE.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.am | 5 +++-- 3 files changed, 67 insertions(+), 61 deletions(-) delete mode 100644 LICENSE create mode 100644 LICENSE.md diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 95c7287..0000000 --- a/LICENSE +++ /dev/null @@ -1,59 +0,0 @@ -Userspace RCU library licensing -Mathieu Desnoyers -September 3, 2012 - - -* LGPLv2.1 - -The library part is distributed under LGPLv2.1 or later. See -LICENSES/LGPL-2.1-or-later.txt for license details. Refer to the individual -file headers for details. - -LGPL-compatible source code can statically use the library header using : - -#define _LGPL_SOURCE -#include - -Dynamic-only linking with the LGPL library is used if _LGPL_SOURCE is not -defined. It permits relinking with newer versions of the library, which is -required by the LGPL license. - -See lgpl-relicensing.md for details. - - -* Boehm-GC (MIT-style) license : - -xchg() primitive has been rewritten from scratch starting from atomic_ops 1.2 -which has a MIT-style license that is intended to allow use in both free and -proprietary software: - - http://www.hpl.hp.com/research/linux/atomic_ops/LICENSING.txt - http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ - -This license applies to: - -uatomic/gcc.h -uatomic/unknown.h -uatomic/generic.h -uatomic/sparc64.h -uatomic/arm.h -uatomic/ppc.h -uatomic/x86.h -uatomic.h - -MIT/X11 (BSD like) license apply to: - -compiler.h -arch/s390.h -uatomic/alpha.h -uatomic/mips.h -uatomic/nios2.h -uatomic/s390.h -system.h - - -* GPLv2 - -Library test code is distributed under the GPLv2 license. See -LICENSES/GPL-2.0-only.txt for license details. See headers of individual files -under tests/ for details. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..6a5d204 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,64 @@ +# Userspace RCU library licensing + +This project is compliant with the [REUSE](https://reuse.software/spec/) +specification, each file contains [SPDX](https://spdx.org/specifications) tags, +the full licenses can be found in the `LICENSES/` directory. + + +## Library code + +The library part is distributed under `LGPL-2.1-or-later`. See +`LICENSES/LGPL-2.1-or-later.txt` for license details. Refer to the individual +file headers for details. + +LGPL-compatible source code can statically use the library header using : + +```` +#define _LGPL_SOURCE +#include +```` + +Dynamic-only linking with the LGPL library is used if `_LGPL_SOURCE` is not +defined. It permits relinking with newer versions of the library, which is +required by the LGPL license. + +See `lgpl-relicensing.md` for details. + + +## Headers + +Most headers are also distributed under `LGPL-2.1-or-later`, some include code +from `atomic_ops` and are distributed under `Boehm-GC` and some others are +distributed under `MIT`. Refer to the individual file headers for details. + +xchg() primitive has been rewritten from scratch starting from `atomic_ops 1.2` +which has a MIT-style license that is intended to allow use in both free and +proprietary software: + +```` +http://www.hpl.hp.com/research/linux/atomic_ops/LICENSING.txt +http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ +```` + + +## Tests + +Library test code is distributed under the `GPL-2.0-only` license. See +`LICENSES/GPL-2.0-only.txt` for license details. See headers of individual +files under `tests/` for details. + + +## Documentation + +The documentation is distributed under the `CC-BY-4.0` license. + + +## Build system + +Build system related files are mostly distributed under the `MIT` license. See +headers of individual files for details. + + +## Generated data files + +Generated data files are distributed under the `CC-1.0` license. diff --git a/Makefile.am b/Makefile.am index ee64c83..539a2ca 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,8 +6,9 @@ ACLOCAL_AMFLAGS=-I m4 SUBDIRS = include src doc tests extras -dist_doc_DATA = LICENSE \ - README.md +dist_doc_DATA = \ + LICENSE.md \ + README.md EXTRA_DIST = \ CodingStyle.md \ -- 2.34.1