| 1 | Userspace RCU library licensing |
| 2 | Mathieu Desnoyers |
| 3 | May 10, 2009 |
| 4 | |
| 5 | |
| 6 | * LGPLv2.1 |
| 7 | |
| 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 | |
| 26 | See lgpl-relicensing.txt for details. |
| 27 | |
| 28 | |
| 29 | * MIT-style license : |
| 30 | |
| 31 | xchg() primitive has been rewritten from scratch starting from atomic_ops 1.2 |
| 32 | which has a MIT-style license that is intended to allow use in both free and |
| 33 | proprietary software: |
| 34 | http://www.hpl.hp.com/research/linux/atomic_ops/LICENSING.txt |
| 35 | http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ |
| 36 | |
| 37 | This license applies to : |
| 38 | |
| 39 | arch_atomic_x86.h |
| 40 | arch_atomic_ppc.h |
| 41 | arch_atomic_s390.h |
| 42 | arch_s390.h |
| 43 | compiler.h |
| 44 | |
| 45 | |
| 46 | * GPLv2 |
| 47 | |
| 48 | Library test code is distributed under the GPLv2 license. See gpl-2.0.txt for |
| 49 | details. This applies to : |
| 50 | |
| 51 | urcutorture.h |
| 52 | urcutorture.c |
| 53 | api_x86.h |
| 54 | api_ppc.h |
| 55 | api_gcc.h |
| 56 | test_urcu.c |
| 57 | test_urcu_yield.c |
| 58 | test_rwlock_timing.c |
| 59 | urcu-asm.c |