Commit | Line | Data |
---|---|---|
29b2b11e MJ |
1 | # Userspace RCU library licensing |
2 | ||
3 | This project is compliant with the [REUSE](https://reuse.software/spec/) | |
4 | specification, each file contains [SPDX](https://spdx.org/specifications) tags, | |
5 | the full licenses can be found in the `LICENSES/` directory. | |
6 | ||
7 | ||
8 | ## Library code | |
9 | ||
10 | The library part is distributed under `LGPL-2.1-or-later`. See | |
11 | `LICENSES/LGPL-2.1-or-later.txt` for license details. Refer to the individual | |
12 | file headers for details. | |
13 | ||
14 | LGPL-compatible source code can statically use the library header using : | |
15 | ||
16 | ```` | |
17 | #define _LGPL_SOURCE | |
18 | #include <urcu.h> | |
19 | ```` | |
20 | ||
21 | Dynamic-only linking with the LGPL library is used if `_LGPL_SOURCE` is not | |
22 | defined. It permits relinking with newer versions of the library, which is | |
23 | required by the LGPL license. | |
24 | ||
25 | See `lgpl-relicensing.md` for details. | |
26 | ||
27 | ||
28 | ## Headers | |
29 | ||
30 | Most headers are also distributed under `LGPL-2.1-or-later`, some include code | |
31 | from `atomic_ops` and are distributed under `Boehm-GC` and some others are | |
32 | distributed under `MIT`. Refer to the individual file headers for details. | |
33 | ||
34 | xchg() primitive has been rewritten from scratch starting from `atomic_ops 1.2` | |
35 | which has a MIT-style license that is intended to allow use in both free and | |
36 | proprietary software: | |
37 | ||
38 | ```` | |
39 | http://www.hpl.hp.com/research/linux/atomic_ops/LICENSING.txt | |
40 | http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ | |
41 | ```` | |
42 | ||
43 | ||
44 | ## Tests | |
45 | ||
46 | Library test code is distributed under the `GPL-2.0-only` license. See | |
47 | `LICENSES/GPL-2.0-only.txt` for license details. See headers of individual | |
48 | files under `tests/` for details. | |
49 | ||
50 | ||
51 | ## Documentation | |
52 | ||
53 | The documentation is distributed under the `CC-BY-4.0` license. | |
54 | ||
55 | ||
56 | ## Build system | |
57 | ||
58 | Build system related files are mostly distributed under the `MIT` license. See | |
59 | headers of individual files for details. | |
60 | ||
61 | ||
62 | ## Generated data files | |
63 | ||
64 | Generated data files are distributed under the `CC-1.0` license. |