CGAL 5.2.1 - Manual

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.


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:


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:

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.

Commercial Licenses

Users who cannot comply with the Open Source license terms can buy individual data structures under various commercial licenses from GeometryFactory: License fees paid by commercial customers are reinvested in R&D performed by the CGAL project partners, as well as in evolutive maintenance.

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.

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 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 distributed under the Creative Commons CCO 1.0 License.