# 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.