This repository brings together several components under different compatible licenses. Source files and notices must not be removed when redistributing them.
The Free Pascal / Unleashed compiler sources are distributed under GNU GPL v2 or later. MoonCompiler compiler changes are published under the same terms. The license text is in compiler/COPYING.txt.
The compiler's GPL does not automatically extend to a program it compiles: the license applies to the compiler itself and its derivatives.
The Runtime Library and FPC packages carrying the FPC linking notice retain LGPL v2.1 or later with that static-linking exception. Other bundled components retain their individual licenses, listed below; the exception does not apply automatically to every package. The RTL license text is in rtl/COPYING.txt, and the exception is in rtl/COPYING.FPC. The exception permits linking the RTL into an application without making that application an LGPL derivative solely because of that link; changes to the RTL units themselves remain under their original license.
runtime/mm/mormot.core.fpcx64mm.pas retains the original mORMot license
header: a choice of MPL 1.1 / GPL 2+ / LGPL 2.1+ with the FPC linking exception.
A copy of the notices is in runtime/mm/LICENSE.md.
The RTL's compressed DWARF reader and System.ZLib share zlib 1.3.1 native
objects under the zlib license. The source archive, build script and notice
are retained in rtl/inc/zlib. Binary distributions include
share/doc/mooncompiler/ZLIB-LICENSE.txt.
The optional Moon.HttpClient.Brotli unit links Google's Brotli 1.2.0 decoder
under the MIT license. Using System.Net.HttpClient alone does not link it.
Its unmodified source archive, build script and license are retained in
packages/vcl-compat/native/brotli.
Binary distributions include share/doc/mooncompiler/BROTLI-MIT.txt.
The Delphi compatibility regex units link PCRE2 10.49 under its BSD license and
exception. The source archive includes the separate BSD notice for its SLJIT
backend. Windows also links the GCC stack-probe runtime fragment under GPLv3
with the GCC Runtime Library Exception. Its original source, license and
exception are retained with the native build recipe.
The binary toolchain includes the applicable notices in share/doc/mooncompiler.
The direct SDK units derived from the existing open FPC/JEDI headers retain their individual MPL 1.1 / LGPL notices and attribution. We distribute these under the MPL 1.1 option. Removing Jwa unit dependencies does not remove those licenses. The source map and dated modifications and full MPL text accompany the Win64 toolchain. The declarations and small SDK macro translations are not copied from Embarcadero's proprietary RTL.
runtime/reporting uses the RTL license and linking exception; see its
notice. Linux uses a dynamically loaded
system libunwind, which is not bundled in this source directory.
Qualification fetches
Moonbot-Tech/MoonORMot and a
separate public upstream mORMot compiler corpus at exact commits. Neither full
source tree is included in MoonCompiler Git history; each retains its own
license and third-party notices.
You may modify, build, and redistribute MoonCompiler, the RTL, MM, and tests, including through a public GitHub fork, provided that license headers and notices are retained and the source is available for MoonCompiler and every distributed GPL/LGPL/MPL component. Your own applications may remain under their own license within the applicable linking exceptions.