Userspace RCU library licensing
Mathieu Desnoyers
-May 10, 2009
+September 3, 2012
* LGPLv2.1
The library part is distributed under LGPLv2.1 or later. See lgpl-2.1.txt for
-details. This applies to :
-
-urcu.h
-urcu.c
-urcu-static.h
-arch_x86.h
-arch_ppc.h
+license details. Refer to the individual file headers for details.
LGPL-compatible source code can statically use the library header using :
defined. It permits relinking with newer versions of the library, which is
required by the LGPL license.
+See lgpl-relicensing.txt for details.
+
* MIT-style license :
-xchg() privimitive has been rewritten from scratch starting from atomic_ops 1.2
+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/
-This license applies to :
+This MIT-style license (BSD like) apply to:
+
+uatomic/gcc.h
+uatomic/unknown.h
+uatomic/generic.h
+uatomic/sparc64.h
+uatomic/arm.h
+uatomic/ppc.h
+uatomic/x86.h
+uatomic.h
+
+MIT/X11 (BSD like) license apply to:
-arch_atomic_x86.h
-arch_atomic_ppc.h
+compiler.h
+arch/s390.h
+uatomic/alpha.h
+uatomic/mips.h
+uatomic/s390.h
+system.h
* GPLv2
Library test code is distributed under the GPLv2 license. See gpl-2.0.txt for
-details. This applies to :
+license details. See headers of individual files under tests/ for details.
-urcutorture.h
-urcutorture.c
-api_x86.h
-api_ppc.h
-test_urcu.c
-test_urcu_yield.c
-test_rwlock_timing.c
-urcu-asm.c
+* GPLv3 (or later)
-Various details :
+The following build-related macro is under GPLv3 (or later):
-ACCESS_ONCE(), likely(), unlikely() and barrier() are considered trivial enough
-that copyright does not apply to them. I (Mathieu Desnoyers) re-typed them from
-scratch in a mail client just to prove it.
+m4/ax_tls.m4