Merge pull request #5139 from MaelRL/CGAL-Improve_license_doc-GF

Installation: Doc and license-less license clarifications
This commit is contained in:
Laurent Rineau 2020-12-04 17:16:13 +01:00
commit ffc56a3251
7 changed files with 57 additions and 70 deletions

View File

@ -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)

View File

@ -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
@ -27,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:
@ -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.
<DL>
<DT>`CGAL_VERSION_STR`</DT>
<DD>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</DD>
<DT>`CGAL_VERSION_NR`</DT>
<DD>a numerical description of the current release such that more recent
releases have higher number.
The \cgal documentation is distributed under the Creative Commons
<a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">CC BY-NC-ND 2.0</a> 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.
</DD>
<DT>`CGAL_VERSION_NUMBER(M,m,b)`</DT>
<DD>
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.
</DD>
</DL>
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 distributed under the Creative Commons
<a href="https://creativecommons.org/publicdomain/zero/1.0/">CCO 1.0</a> License.
*/

View File

@ -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:
<DL>
<DT>`CGAL_VERSION_STR`</DT>
<DD>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</DD>
<DT>`CGAL_VERSION_NR`</DT>
<DD>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.
</DD>
<DT>`CGAL_VERSION_NUMBER(M,m,b)`</DT>
<DD>
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.
</DD>
</DL>
The macro `CGAL_VERSION` is deprecated. It is the same as
`CGAL_VERSION_STR`, but not as a string literal.
*/

View File

@ -948,7 +948,7 @@ 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
install(FILES AUTHORS CHANGES.md LICENSE LICENSE.GPL
LICENSE.LGPL DESTINATION ${CGAL_INSTALL_DOC_DIR})
endif()

View File

@ -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 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
https://www.cgal.org/license.html

View File

@ -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.

View File

@ -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 CC0 1.0. The text can be found
at https://creativecommons.org/publicdomain/zero/1.0/ .