From 1edb3e8ba816c0ea93cb68a873b9c1ff50343a57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Tue, 3 Nov 2020 11:35:30 +0100 Subject: [PATCH 1/7] Make it clear in the doc what is the license of a file w/o an explicit license --- .../doc/Documentation/Getting_started.txt | 10 ++-- Documentation/doc/Documentation/License.txt | 50 ++++++------------- .../doc/Documentation/Preliminaries.txt | 31 ++++++++++++ 3 files changed, 51 insertions(+), 40 deletions(-) diff --git a/Documentation/doc/Documentation/Getting_started.txt b/Documentation/doc/Documentation/Getting_started.txt index 23693a5189d..522dfa212d8 100644 --- a/Documentation/doc/Documentation/Getting_started.txt +++ b/Documentation/doc/Documentation/Getting_started.txt @@ -1,7 +1,7 @@ /*! \page general_intro Getting Started with %CGAL -The following pages describe how to use \cgal on different environments +The following pages describe how to use \cgal on different environments: - \subpage usage @@ -11,19 +11,21 @@ The following pages describe how to use \cgal on different environments - \subpage devman_create_and_use_a_cmakelist explains how to use CMake to link a program with \cgal. -The following pages cover advanced installation options +The following pages cover advanced installation options: - \subpage configurationvariables gives information about which CMake variables can be used to help resolve missing dependencies while using the cmake command line tool. - \subpage installation describes the deprecated process of configuring and building \cgal. -The following pages cover the structure of the manual and general information about \cgal +The following pages cover the structure of the manual and general information about \cgal: - \subpage manual gives an idea of where you should look for documentation. - \subpage preliminaries lists how to control inlining, thread safety, code deprecation, checking -of pre- and postconditions, and how to alter the failure behavior. +of pre- and postconditions, how to alter the failure behavior, and how to check the version of \cgal. + +- \subpage license describes the different licenses used within \cgal, with which users must comply. Once you are familiar with building your programs with \cgal and how the documentation is structured, you can head over to the \ref tutorials for a gentle introduction to \cgal, or directly to the package(s) diff --git a/Documentation/doc/Documentation/License.txt b/Documentation/doc/Documentation/License.txt index 71ede23de25..aea7ceaa0d0 100644 --- a/Documentation/doc/Documentation/License.txt +++ b/Documentation/doc/Documentation/License.txt @@ -2,18 +2,16 @@ \page license License \cgalAutoToc -\cgal is distributed under a dual license scheme, that is under the -GNU GPL/LGPL open source license, as well as under commercial licenses. - -\cgal consists of different parts covered by different open source licenses. -In this section we explain the essence of the different licenses, as well as -the rationale why we have chosen them. - -The fact that \cgal is Open Source software does not mean that users are free +The fact that \cgal is open source software does not mean that users are free to do whatever they want with the software. Using the software means to accept the license, which has the status of a contract between the user and the owner of the \cgal software. +\cgal is distributed under a dual license scheme, that is under the +GNU GPL/LGPL open source licenses, as well as under commercial licenses. +We explain on this page the essence of the different licenses, as well as +the rationale behind their choice. + \section licensesGPL GNU GPL The GNU GPL is an Open Source license that, if you distribute your software @@ -69,36 +67,16 @@ To enable checking, users have to define one of the following macros: The license checking is not a mean to control users as no information is collected or transmitted. -\section seccgal_version Identifying the Version of CGAL +\section licensesWhere Determining the license of a CGAL file -Every release of \cgal defines the following preprocessor macros: +It is specified in each file of the \cgal library which license applies to it. -
-
`CGAL_VERSION_STR`
-
a textual description of the current release (e.g., or 3.3 or 3.2.1 or 3.2.1-I-15) as a string literal
-
`CGAL_VERSION_NR`
-
a numerical description of the current release such that more recent -releases have higher number. +The \cgal documentation is distributed under the Creative Commons +BY-NC-ND License. -More precisely, it is defined as `1MMmmbiiii`, where `MM` is -the major release number (e.g. 03), `mm` is the minor release -number (e.g. 02), `b` is the bug-fix release number (e.g. 0), -and `iiii` is the internal release number (e.g. 0001). For -public releases, the latter is defined as 1000. Examples: for the -public release 3.2.4 this number is 1030241000; for internal release -3.2-I-1, it is 1030200001. Note that this scheme was modified around -3.2-I-30. -
-
`CGAL_VERSION_NUMBER(M,m,b)`
-
-a function macro computing the version number macro from the -M.m.b release version. Note that the internal release number is -dropped here. Example: `CGAL_VERSION_NUMBER(3,2,4)` is equal to -1030241000. -
-
- -The macro `CGAL_VERSION` is deprecated. It is the same as -`CGAL_VERSION_STR`, but not as a string literal. +All files that do not have an explicit copyright or license notice (e.g., all +examples, some demos, data files without a license, ...) are licensed under a very permissive license. +The exact license text can be found in the file +LICENSE.FREE_USE. */ diff --git a/Documentation/doc/Documentation/Preliminaries.txt b/Documentation/doc/Documentation/Preliminaries.txt index 9f23bbda960..0fa310a54af 100644 --- a/Documentation/doc/Documentation/Preliminaries.txt +++ b/Documentation/doc/Documentation/Preliminaries.txt @@ -87,5 +87,36 @@ Note that setting inline manually is very fragile, especially in a template context. It is usually better to let the compiler select by himself which functions should be inlined or not. +\section seccgal_version Identifying the Version of CGAL + +Every release of \cgal defines the following preprocessor macros: + +
+
`CGAL_VERSION_STR`
+
a textual description of the current release (e.g., or 3.3 or 3.2.1 or 3.2.1-I-15) as a string literal
+
`CGAL_VERSION_NR`
+
a numerical description of the current release such that more recent +releases have higher number. + +More precisely, it is defined as `1MMmmbiiii`, where `MM` is +the major release number (e.g. 03), `mm` is the minor release +number (e.g. 02), `b` is the bug-fix release number (e.g. 0), +and `iiii` is the internal release number (e.g. 0001). For +public releases, the latter is defined as 1000. Examples: for the +public release 3.2.4 this number is 1030241000; for internal release +3.2-I-1, it is 1030200001. Note that this scheme was modified around +3.2-I-30. +
+
`CGAL_VERSION_NUMBER(M,m,b)`
+
+a function macro computing the version number macro from the +M.m.b release version. Note that the internal release number is +dropped here. Example: `CGAL_VERSION_NUMBER(3,2,4)` is equal to +1030241000. +
+
+ +The macro `CGAL_VERSION` is deprecated. It is the same as +`CGAL_VERSION_STR`, but not as a string literal. */ From 0d298c3d64e1bc521b724550f51bfccde85c789a Mon Sep 17 00:00:00 2001 From: Mael Date: Tue, 3 Nov 2020 11:45:20 +0100 Subject: [PATCH 2/7] Fix sentence --- Documentation/doc/Documentation/License.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/doc/Documentation/License.txt b/Documentation/doc/Documentation/License.txt index aea7ceaa0d0..95727649dd0 100644 --- a/Documentation/doc/Documentation/License.txt +++ b/Documentation/doc/Documentation/License.txt @@ -25,7 +25,7 @@ web site: http://www.gnu.org/copyleft/gpl.html. The GNU LGPL is an Open Source license that obliges you to distribute modifications you make on \cgal software accessible to the users. -In contrast to the GPL, there is no obligation to make the source +In contrast to the GPL, there is no obligation to distribute the source code of software you build on top of LGPLed \cgal data structures. The exact license terms can be found at the Free Software Foundation web site: From 2d4ff0a9acc368f59d07eb834b5dbbd2843f3eae Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Thu, 26 Nov 2020 13:33:14 +0000 Subject: [PATCH 3/7] Replace LICENSE.FREE_USE by CC0 --- Documentation/doc/Documentation/License.txt | 8 ++++---- Installation/LICENSE.FREE_USE | 22 --------------------- 2 files changed, 4 insertions(+), 26 deletions(-) delete mode 100644 Installation/LICENSE.FREE_USE diff --git a/Documentation/doc/Documentation/License.txt b/Documentation/doc/Documentation/License.txt index 95727649dd0..cb272b4180f 100644 --- a/Documentation/doc/Documentation/License.txt +++ b/Documentation/doc/Documentation/License.txt @@ -72,11 +72,11 @@ is collected or transmitted. It is specified in each file of the \cgal library which license applies to it. The \cgal documentation is distributed under the Creative Commons -BY-NC-ND License. +CC BY-NC-ND 2.0 License. All files that do not have an explicit copyright or license notice (e.g., all -examples, some demos, data files without a license, ...) are licensed under a very permissive license. -The exact license text can be found in the file -LICENSE.FREE_USE. +examples, some demos, data files without a license, ...) +are distributed under the Creative Commons +CCO 1.0 License. */ diff --git a/Installation/LICENSE.FREE_USE b/Installation/LICENSE.FREE_USE deleted file mode 100644 index dfcafa74c6b..00000000000 --- a/Installation/LICENSE.FREE_USE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 -Utrecht University (The Netherlands), -ETH Zurich (Switzerland), -INRIA Sophia-Antipolis (France), -Max-Planck-Institute Saarbruecken (Germany), -and Tel-Aviv University (Israel). All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From b477021ad16b80d0c962dd441a62f1c375443880 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Thu, 3 Dec 2020 09:12:08 +0100 Subject: [PATCH 4/7] Remove LICENSE.FREE_USE from installation tests --- Installation/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Installation/CMakeLists.txt b/Installation/CMakeLists.txt index 272431c72dc..b1bd2d8a370 100644 --- a/Installation/CMakeLists.txt +++ b/Installation/CMakeLists.txt @@ -835,7 +835,8 @@ endif() # DESTINATION option is mandatory; skipping it breaks CPack! if(CGAL_INSTALL_DOC_DIR) - install(FILES AUTHORS CHANGES.md LICENSE LICENSE.FREE_USE LICENSE.GPL LICENSE.LGPL DESTINATION ${CGAL_INSTALL_DOC_DIR} ) + install(FILES AUTHORS CHANGES.md LICENSE LICENSE.GPL + LICENSE.LGPL DESTINATION ${CGAL_INSTALL_DOC_DIR}) endif() #install all includes collected in trunk et cetera From a6dab0379cc3ca5b313379e7823e2f4af83feee6 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Thu, 3 Dec 2020 09:43:14 +0100 Subject: [PATCH 5/7] Fix text in LICENSE and LICENSE.md --- Installation/LICENSE | 4 ++-- LICENSE.md | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Installation/LICENSE b/Installation/LICENSE index 4a393c57241..ac52ab31ac5 100644 --- a/Installation/LICENSE +++ b/Installation/LICENSE @@ -37,8 +37,8 @@ licenses: is licensed under a MIT like license (see LICENSE.RFL). All other files that do not have an explicit copyright notice (e.g., all -examples and some demos) are licensed under a very permissive license. The -exact license text can be found in the file LICENSE.FREE_USE. +examples and some demos) are licensed under the Creative Commons 1.0 license. The +exact text can be found at https://creativecommons.org/publicdomain/zero/1.0/". More information on the CGAL license can be found at https://www.cgal.org/license.html diff --git a/LICENSE.md b/LICENSE.md index 652ca5673d5..f575e7713c5 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -9,7 +9,5 @@ the source tarballs. A lot of files in the Git repository are not distributed in the source tarballs, for examples all the files in the `doc/` and `test/` sub-directories of CGAL packages. For all those files, unless they have an -explicit license notice, the license is the GNU General Public License (as -published by the Free Software Foundation; either version 3 of the License -or (at your option) any later version). The text of that license can be -found in the file `Installation/LICENSE.GPL`. +explicit license notice, the license is the Creative Commons 1.0. The text can be found +at https://creativecommons.org/publicdomain/zero/1.0/ . From 334d49b1e797ed8fc850c03c971552c63326cefd Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Thu, 3 Dec 2020 10:14:29 +0100 Subject: [PATCH 6/7] Use CC0 instead of full name --- Installation/LICENSE | 2 +- LICENSE.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Installation/LICENSE b/Installation/LICENSE index ac52ab31ac5..42eca1e6c88 100644 --- a/Installation/LICENSE +++ b/Installation/LICENSE @@ -37,7 +37,7 @@ licenses: is licensed under a MIT like license (see LICENSE.RFL). All other files that do not have an explicit copyright notice (e.g., all -examples and some demos) are licensed under the Creative Commons 1.0 license. The +examples and some demos) are licensed under the CC0 1.0 license. The exact text can be found at https://creativecommons.org/publicdomain/zero/1.0/". More information on the CGAL license can be found at diff --git a/LICENSE.md b/LICENSE.md index f575e7713c5..a1094a297ba 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -9,5 +9,5 @@ the source tarballs. A lot of files in the Git repository are not distributed in the source tarballs, for examples all the files in the `doc/` and `test/` sub-directories of CGAL packages. For all those files, unless they have an -explicit license notice, the license is the Creative Commons 1.0. The text can be found +explicit license notice, the license is the CC0 1.0. The text can be found at https://creativecommons.org/publicdomain/zero/1.0/ . From 6f50502b3e5a25dbbedc1b93e969b2f1909f0863 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Thu, 3 Dec 2020 10:32:55 +0100 Subject: [PATCH 7/7] Re-add Creative Commons --- Installation/LICENSE | 2 +- LICENSE.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Installation/LICENSE b/Installation/LICENSE index 42eca1e6c88..e6d53a60269 100644 --- a/Installation/LICENSE +++ b/Installation/LICENSE @@ -37,7 +37,7 @@ licenses: is licensed under a MIT like license (see LICENSE.RFL). All other files that do not have an explicit copyright notice (e.g., all -examples and some demos) are licensed under the CC0 1.0 license. The +examples and some demos) are licensed under the Creative Commons CC0 1.0 license. The exact text can be found at https://creativecommons.org/publicdomain/zero/1.0/". More information on the CGAL license can be found at diff --git a/LICENSE.md b/LICENSE.md index a1094a297ba..a0cf2daa92e 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -9,5 +9,5 @@ the source tarballs. A lot of files in the Git repository are not distributed in the source tarballs, for examples all the files in the `doc/` and `test/` sub-directories of CGAL packages. For all those files, unless they have an -explicit license notice, the license is the CC0 1.0. The text can be found +explicit license notice, the license is the Creative Commons CC0 1.0. The text can be found at https://creativecommons.org/publicdomain/zero/1.0/ .