mirror of
https://github.com/Nuitka/Nuitka.git
synced 2026-09-29 13:12:52 +02:00
* This is with an exception for the runtime library parts to allow proprietary compiled code to link against it. * But it makes creating competitors to Nuitka commercial impossible, as they would need to open source their code.
58 lines
2.6 KiB
Plaintext
58 lines
2.6 KiB
Plaintext
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.
|