This "Additional Term" exception for the "Parts of the Catrobat System Necessary for Running a Catrobat Program" is an additional permission under section 7 of the GNU Affero General Public License, version 3 ("AGPLv3"). It applies to parts of the Catrobat system bearing a notice placed by the copyright holder stating that these parts are governed by AGPLv3 along with this Additional Term.
When you use code that was developed by the Catrobat team to compile a stand-alone application of a Catrobat Program, the Catrobat system combines portions of the Parts of the Catrobat System Necessary for Running a Catrobat Program and the Catrobat Program which you provided, in form of a stand-alone application. The purpose of this Additional Term is to allow compilation of a non-AGPL (including proprietary) program to use, in this way, the Parts of the Catrobat System Necessary for Running a Catrobat Program.
A file is an "Independent Module" if it either requires the Parts of the Catrobat System Necessary for Running a Catrobat Program for execution after a Compilation Process, or makes use of an interface provided by the Parts of the Catrobat System Necessary for Running a Catrobat Program, but is not otherwise based on the Parts of the Catrobat System Necessary for Running a Catrobat Program.
"Parts of the Catrobat System Necessary for Running a Catrobat Program" mean a version of the parts of the Catrobat system necessary for running a Catrobat Program, with or without modifications.
"AGPL-compatible Software" is software whose conditions of propagation, modification, and use would permit combination with those parts of the Catrobat system that are governed by version 3 (or a specified later version) of the GNU Affero General Public License (AGPL).
"Catrobat Program Stand-Alone Application" refers to output from any part of the Catrobat system starting from a given Catrobat Program for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, compiler, interpreter, loader, linker and/or execution phase. Notwithstanding that, Catrobat Program Stand-Alone Application does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Virtual Machine code, e.g., Java or Dalvik-compatible byte code, into a Catrobat Program Stand-Alone Application. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.
A Compilation Process is "Eligible" if it is done using the Catrobat system, alone or with other AGPL-compatible software, or if it is done without using any work based on the Catrobat system. For example, using non-AGPL-compatible Software to optimize any intermediate representations for the Catrobat system would not qualify as an Eligible Compilation Process.
1. Grant of Additional Permission.
You have permission to propagate a Catrobat Program Stand-Alone Application formed by combining the Parts of the Catrobat System Necessary for Running a Catrobat Program with Independent Modules, even if such propagation would otherwise violate the terms of AGPLv3, provided that the Catrobat Program Stand-Alone Application was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.
2. No Weakening of the Catrobat system's Copyleft.
The availability of this Additional Term does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the licenses of the Catrobat system.