Nuitka Runtime Library Exception

Version 1.0

This Nuitka Runtime Library Exception ("Exception") is an additional permission
under section 7 of the GNU Affero General Public License, version 3 ("AGPLv3").
It applies to a given file (the "File") that bears a notice placed by the
copyright holder of the file stating that the file is governed by AGPLv3 along
with this Exception.

The purpose of this Exception is to allow the compilation of non-AGPL (including
proprietary) Python programs to use, in this way, the header files and runtime
libraries covered by this Exception, without the requirement that the resulting
executable or library be licensed under the AGPLv3.

0. Definitions

"Runtime Library" means the Nuitka static C code, header files, and helper
functions that are intended to be linked or included into the code generated by
Nuitka.

"Independent Module" means a module which is not derived from or based on the
Runtime Library. Usage of the Runtime Library interface (macros, function
signatures, data structures) for the purpose of valid compilation/linking does
not make a module "derived from" the Runtime Library for the purposes of this
definition.

"Target Code" means an executable or library created by the Compilation Process.

"Compilation Process" means the process of transforming Python source code (or
other input accepted by Nuitka) into C source code using Nuitka, and
subsequently compiling and linking that C source code with the Runtime Library
to produce Target Code.

1. Grant of Additional Permission

You have permission to propagate a work of Target Code formed by combining the
Runtime Library with Independent Modules, even if such propagation would
otherwise violate the terms of AGPLv3, provided that all Independent Modules are
combined with the Runtime Library through the Compilation Process. You may then
convey such a combination under terms of your choice.

2. No Weakening of Nuitka Copyleft

The availability of this Exception does not imply any general exception to the
third-party beneficiary rights or other terms of the AGPLv3 for the Nuitka
compiler itself (typically `nuitka` package logic), nor does it apply to the
Compilation Process itself (i.e., you cannot distribute a modified version of
the Nuitka compiler under proprietary terms). This Exception only applies to the
*output* of the Compilation Process (the Target Code) that links against the
Runtime Library.

3. Intention

This exception is intended to allow the creation of closed-source Python
applications that use Nuitka, but it does prevent the creation of closed-source
Nuitka itself except by the source code owner.
