cgal/Documentation/doc/Documentation/License.txt

85 lines
3.6 KiB
Plaintext

/*!
\page license License
\cgalAutoToc
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
based on GPLed \cgal data structures, obliges you to distribute the
source code of your software under the GPL.
The exact license terms can be found at the Free Software Foundation
web site: https://www.gnu.org/licenses/gpl-3.0.html.
\section licensesLGPL GNU LGPL
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 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:
https://www.gnu.org/licenses/lgpl-3.0.html.
\section licensesRationale Rationale of the License Choice
We have chosen the GPL and the LGPL as they are well-known
and well-understood open source licenses. The former restricts
commercial use, and the latter allows to promote software as de facto standard
so that people can build new higher level data structures on top.
Therefore, the packages forming a foundation layer are distributed under
the LGPL, and the higher level packages under the GPL.
The package overview states for each package under which license it is distributed.
\section licensesCommercial Commercial Licenses
Users who cannot comply with the Open Source license terms can buy individual
data structures under various commercial licenses from GeometryFactory:
https://www.geometryfactory.com/. License fees paid by commercial
customers are reinvested in R\&D performed by the \cgal project partners,
as well as in evolutive maintenance.
\section licenseCheck License Checking
Users who have a commercial license for specific packages can check that
they do not accidentally use packages for which they do not have a commercial
license. The same holds for users who want to be sure that they only
use packages of \cgal released under the LGPL.
To enable checking, users have to define one of the following macros:
| Macro Name | Effect |
| :--------- | :------ |
| `CGAL_LICENSE_WARNING` | get a warning during the compilation |
| `CGAL_LICENSE_ERROR` | get an error during the compilation |
The license checking is not a mean to control users as no information
is collected or transmitted.
\note With `Clang`, paths to CGAL headers shall not be passed with `-isystem` option in order for the warning messages to be emitted.
\section licensesWhere Determining the license of a CGAL file
It is specified in each file of the \cgal library which license applies to it.
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.
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.
*/