Skip to content

Latest commit

 

History

History
64 lines (39 loc) · 1.8 KB

LICENSE.md

File metadata and controls

64 lines (39 loc) · 1.8 KB

Userspace RCU library licensing

This project is compliant with the REUSE specification, each file contains SPDX 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 <urcu.h>

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.