License Details

Regina – Software for low-dimensional topology

Copyright (c) 1999–2023, The Regina development team

Citation

If you find Regina useful in your research, please consider citing it as you would any other paper that you use. See here for a suggested form of reference.

Copying and Modification

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Some of this code comes with additional permissions; see the section below regarding online distribution.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A full copy of the GNU General Public License should be included here; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Regina's own source code comes with the following permissions in addition to the GNU General Public License:

As an exception, when this program is distributed through (i) the App Store by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or (iii) Google Play by Google Inc., then that store may impose any digital rights management, device limits and/or redistribution restrictions that are required by its terms of service.

Some third-party libraries included in Regina are not granted this exception, and must be removed from any build that is distributed on stores that cannot comply with the GNU General Public License (such as Apple's App Store). See the third-party licenses below for details.

External Software

Regina makes use of external software for some specialised tasks. The corresponding license details are included below.

SnapPea and SnapPy

Regina includes portions of the SnapPea kernel and its successor SnapPy, which it uses for some geometric calculations. The SnapPea kernel was originally written by Jeff Weeks. SnapPy, where this kernel is now maintained, is primarily developed by Marc Culler, Nathan Dunfield and Matthias Goerner, with contributions from many people. SnapPy and the corresponding SnapPea kernel are distributed under the terms of the GNU General Public License, version 2 or any later version, as published by the Free Software Foundation.

Normaliz Library

Regina includes a copy of libnormaliz, which it uses to help with the enumeration of fundamental normal surfaces. Normaliz was written by Winfried Bruns, Bogdan Ichim and Christof Soeger. It is distributed under the terms of 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.

pybind11 Library

Regina includes a copy of pybind11, which it uses to generate Python bindings for Regina's native C++ code. The pybind11 library was written by Wenzel Jakob, and is distributed under a BSD-style license that is shipped with Regina's source code in the file python/pybind11/LICENSE.

Python rlcompleter module

Regina includes a modified copy of the Python rlcompleter module, which it uses for tab completion in the graphical user interface. The original rlcompleter module was distributed under the Python Software Foundation License Version 2; the full license and copyright notice are shipped with Regina's source code in the file python/regina/LICENSE.

Orb Kernel

Regina includes snippets of code from Orb, for use in importing and exporting files in Orb / Casson format. Orb is based on SnapPea (see above) with additional code written by Damian Heard, who has also given permission for his code to be distributed under the terms of the GNU General Public License.

Syntax Highlighting

Regina's graphical user interfaces incorporate a modified version of the KDE syntax-highlighting framework, which they use for highlighting Python scripts. This framework is distributed under the GNU Library General Public License, version 2 or any later version, as published by the Free Software Foundation.

Icons

Many of Regina's icons are custom-made, and are under the same license as Regina. Some system icons are taken from the Humanity icon set (licensed under the GNU General Public License version 2) and the Oxygen icon set (licensed under the GNU Lesser General Public License version 3 or above). Regina's die icon is based on an image from openclipart.org, which has been released into the public domain.