summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-11-26 21:29:31 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-11-26 21:35:15 +0300
commite562dd23b40e7e1425b0dead863e0b26d0c62137 (patch)
tree61a2f54c8f3b7b6396dd30d0ee8bd3f03ca897c5
parent61b7e7eb5ab41f668743c11e98feb74ca5df3f94 (diff)
downloadlibatomic_ops-e562dd23b40e7e1425b0dead863e0b26d0c62137.tar.gz
Refine LICENSE and README about code parts covered by MIT and GPL-2.0
* LICENSE: Mention MIT and GPL-2.0 at the top of the file; copy copyrights from README.md; group all copyrights in one block; explicitly specify which code is covered by MIT and which one by GPL; remove a statement about the possibility of license change in future. * README.md: Refine the statement about new code to use C11 atomics; specify license type at the top of the file. * README.md (Overview): Mention that README_malloc.txt and README_stack.txt describe the functionality of libatomic_ops_gpl. * README.md (Installation and Usage): Mention that libatomic_ops.a is a core library and libatomic_ops_gpl.a is a gpl extension library; mention that libatomic_ops_gpl.a licensing details are given in COPYING and LICENSE files. * README.md (Copyright & Warranty): Rename to "Copyright & Warranty, Contributors"; remove all copyrights (they are moved to LICENSE); better explain the dual nature of the license.
-rw-r--r--LICENSE41
-rw-r--r--README.md53
2 files changed, 48 insertions, 46 deletions
diff --git a/LICENSE b/LICENSE
index 95c9db7..2902206 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,12 +1,28 @@
-Our intent is to make it easy to use libatomic_ops, in
-both free and proprietary software. Hence most code that we expect to be
-linked into a client application is covered by an MIT-style license.
+MIT License (core library) / GPL-2.0 (gpl extension library)
-A few library routines are covered by the GNU General Public License.
-These are put into a separate library, libatomic_ops_gpl.a file.
+Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
+Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
+Copyright (c) 1999-2011 Hewlett-Packard Development Company, L.P.
+Copyright (c) 2005, 2007 Thiemo Seufer
+Copyright (c) 2007 by NEC LE-IT. All rights reserved.
+Copyright (c) 2008-2021 Ivan Maidanski
+Copyright (c) 2009 Bradley Smith
+Copyright (c) 2009 by Takashi Yoshii. All rights reserved.
-The low-level part of the library is mostly covered by the following
-license:
+
+Our intent is to make it easy to use libatomic_ops, in both free and
+proprietary software. Hence most of code (core library) that we expect to
+be linked into a client application is covered by a MIT or MIT-style license.
+
+However, a few library routines (the gpl extension library) are covered by
+the GNU General Public License. These are put into a separate library,
+libatomic_ops_gpl.a file.
+
+Most of the test code is covered by the GNU General Public License too.
+
+
+The low-level (core) part of the library (libatomic_ops.a) is mostly covered
+by the following license:
----------------------------------------
@@ -33,9 +49,9 @@ SOFTWARE.
--------------------------------
-A few files in the atomic_ops/sysdeps directory were inherited in part from
-the Boehm-Demers-Weiser conservative garbage collector, and are covered by
-its license, which is similar in spirit:
+Some files in the atomic_ops/sysdeps directory (part of core library) were
+inherited in part from the Boehm-Demers-Weiser conservative garbage collector,
+and are covered by its license, which is similar in spirit to MIT license:
--------------------------------
@@ -58,8 +74,3 @@ A few files are covered by the GNU General Public License. (See file
portion of the library. Thus, atomic_ops_gpl should generally not be
linked into proprietary code. (This distinction was motivated by patent
considerations.)
-
-It is possible that the license of the GPL pieces may be changed for
-future versions to make them more consistent with the rest of the package.
-If you submit patches, and have strong preferences about licensing, please
-express them.
diff --git a/README.md b/README.md
index 9c77f96..a4fde5c 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
# The atomic_ops library (`libatomic_ops`)
-IN NEW CODE, PLEASE USE C11 OR C++14 STANDARD ATOMICS INSTEAD OF THIS PACKAGE.
+IN NEW CODE, PLEASE USE C11 OR C++14 STANDARD ATOMICS INSTEAD OF THE CORE
+LIBRARY IN THIS PACKAGE.
[![Travis-CI build status](https://travis-ci.com/ivmai/libatomic_ops.svg?branch=master)](https://travis-ci.com/ivmai/libatomic_ops)
[![AppVeyor CI build status](https://ci.appveyor.com/api/projects/status/github/ivmai/libatomic_ops?branch=master&svg=true)](https://ci.appveyor.com/project/ivmai/libatomic-ops)
@@ -18,6 +19,9 @@ IN NEW CODE, PLEASE USE C11 OR C++14 STANDARD ATOMICS INSTEAD OF THIS PACKAGE.
This is version 7.7.0 (next release development) of libatomic_ops.
+License: [MIT](LICENSE) for core library / [GPL-2.0](COPYING) for gpl
+extension.
+
## Download
@@ -50,10 +54,10 @@ Please see other README files for the details:
* [README_details.txt](README_details.txt) - details about atomic_ops.h
* [README_malloc.txt](README_malloc.txt) - a simple almost-lock-free malloc
- implementation
+ implementation (part of libatomic_ops_gpl)
* [README_stack.txt](README_stack.txt) - an almost lock-free LIFO linked
- lists (stack) implementation
+ lists (stack) implementation (part of libatomic_ops_gpl)
## Installation and Usage
@@ -70,17 +74,18 @@ Alternatively, CMake could be use to build this package, e.g.
Note that much of the content of this library is in the header files.
However, two small libraries are built and installed:
-* `libatomic_ops.a` is a support library, which is not needed on some
+* `libatomic_ops.a` is a support (core) library, which is not needed on some
platforms. This is intended to be usable, under some mild restrictions,
in free or proprietary code, as are all the header files.
See [LICENSE](LICENSE) for more details about the licensing.
-* `libatomic_ops_gpl.a` contains some higher level facilities. This code is
- currently covered by the GPL. The contents currently correspond to
- the headers `atomic_ops_malloc.h` and `atomic_ops_stack.h`. Not built and
- not installed if `--disable-gpl` option is passed to `configure` (or if
- `-Denable_gpl=OFF` option is passed to `cmake` if the latter is used to
- build the package).
+* `libatomic_ops_gpl.a` is a so called gpl extension library containing some
+ higher level facilities. This code is covered by the GPL. The contents
+ correspond to the headers `atomic_ops_malloc.h` and `atomic_ops_stack.h`.
+ Not built and not installed if `--disable-gpl` option is passed to
+ `configure` (or if `-Denable_gpl=OFF` option is passed to `cmake` if the
+ latter is used to build the package). The licensing details are given in
+ [COPYING](COPYING) and [LICENSE](LICENSE) files.
## Platform Specific Notes
@@ -124,30 +129,16 @@ To be notified on all issues, please
GitHub.
-## Copyright & Warranty
-
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
- * Copyright (c) 1999-2011 Hewlett-Packard Development Company, L.P.
- * Copyright (c) 2008-2021 Ivan Maidanski
-
-The file armcc/arm_v6.h is also
-
- * Copyright (c) 2007 by NEC LE-IT. All rights reserved.
-
-The file gcc/avr32.h is
-
- * Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
-
-The file gcc/mips.h is
+## Copyright & Warranty, Contributors
- * Copyright (c) 2005, 2007 Thiemo Seufer <ths@networkno.de>
+Please be aware of the dual nature of the license of libatomic_ops:
-The file gcc/sh.h is
+* the core part (implementing semi-portable access to hardware-provided
+ atomic memory operations) is released under MIT license
- * Copyright (c) 2009 by Takashi YOSHII. All rights reserved.
+* the gpl extension (almost lock-free malloc and stack implementations) and
+ the tests are released under GPL-2.0 license
-Please be aware of the dual nature of the license of libatomic_ops, see
-[LICENSE](LICENSE) for the details.
+The exact licensing information is provided in [LICENSE](LICENSE) file.
The library contributors are listed in [AUTHORS](AUTHORS) file.