Commit | Line | Data |
---|---|---|
af02d47e MD |
1 | Userspace RCU library licensing |
2 | Mathieu Desnoyers | |
3 | May 10, 2009 | |
4 | ||
0114ba7f MD |
5 | |
6 | * LGPLv2.1 | |
7 | ||
af02d47e MD |
8 | The library part is distributed under LGPLv2.1 or later. See lgpl-2.1.txt for |
9 | details. This applies to : | |
10 | ||
11 | urcu.h | |
12 | urcu.c | |
13 | urcu-static.h | |
14 | arch_x86.h | |
15 | arch_ppc.h | |
16 | ||
17 | LGPL-compatible source code can statically use the library header using : | |
18 | ||
19 | #define _LGPL_SOURCE | |
20 | #include <urcu.h> | |
21 | ||
22 | Dynamic-only linking with the LGPL library is used if _LGPL_SOURCE is not | |
23 | defined. It permits relinking with newer versions of the library, which is | |
24 | required by the LGPL license. | |
25 | ||
0114ba7f MD |
26 | |
27 | * MIT-style license : | |
28 | ||
29 | xchg() privimitive has been rewritten from scratch starting from atomic_ops 1.2 | |
30 | which has a MIT-style license that is intended to allow use in both free and | |
31 | proprietary software: | |
32 | http://www.hpl.hp.com/research/linux/atomic_ops/LICENSING.txt | |
33 | http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ | |
34 | ||
35 | This license applies to : | |
36 | ||
37 | arch_atomic_x86.h | |
38 | arch_atomic_ppc.h | |
39 | ||
40 | ||
41 | * GPLv2 | |
42 | ||
af02d47e MD |
43 | Library test code is distributed under the GPLv2 license. See gpl-2.0.txt for |
44 | details. This applies to : | |
45 | ||
46 | urcutorture.h | |
47 | urcutorture.c | |
48 | api_x86.h | |
49 | api_ppc.h | |
50 | test_urcu.c | |
51 | test_urcu_yield.c | |
52 | test_rwlock_timing.c | |
5e13fab8 | 53 | urcu-asm.c |
0114ba7f MD |
54 | |
55 | ||
56 | Various details : | |
57 | ||
58 | ACCESS_ONCE(), likely(), unlikely() and barrier() are considered trivial enough | |
59 | that copyright does not apply to them. I (Mathieu Desnoyers) re-typed them from | |
60 | scratch in a mail client just to prove it. |