freedyn2 for Windows: licenses
==============================

freedyn2
--------

Copyright 2026 The freedyn2 contributors. Licensed under the Apache License, Version 2.0
(LICENSE.txt in the installation directory, https://www.apache.org/licenses/LICENSE-2.0). See
NOTICE.txt.

Code that freedyn2 generates from your models (C sources and compiled model plugins) belongs to
you and is not subject to this license.

This installer contains freedyn2 together with a private Python and the components below. Each
keeps its own license; the license texts are installed with them (paths relative to the
installation directory). licenses\python-packages.txt lists every bundled Python package with its
version and license, generated from the packages' metadata when the installer was built.

Python runtime
--------------

- Python 3.12 (CPython, build of python-build-standalone): Python Software Foundation License
  Version 2 (PSF-2.0). License: licenses\Python-LICENSE.txt. The Python build contains further
  libraries under their own permissive licenses (OpenSSL: Apache-2.0, zlib, libffi: MIT, SQLite:
  public domain, ...), listed in that file.

Components of freedyn2
----------------------

In the freedyn2 package, python\Lib\site-packages\fdgen.

- SuiteSparse KLU and BTF: LGPL-2.1-or-later. Sparse LU factorization of the solver.
- SuiteSparse AMD, COLAMD, config: BSD-3-Clause.
  The SuiteSparse shared libraries (fdgen\bin\*.dll) are linked dynamically: they may be replaced
  by other builds of the same libraries (sources: https://github.com/DrTimothyAldenDavis/SuiteSparse).
  Licenses: fdgen\licenses\suitesparse.
- Eigen: MPL-2.0. Linear algebra, compiled into the solver (header-only; sources:
  https://gitlab.com/libeigen/eigen, license: https://www.mozilla.org/MPL/2.0/).
- ASAM OpenCRG C library: Apache-2.0. Road surfaces. License: fdgen\licenses\opencrg.
- three.js r170: MIT. 3D graphics of the viewer. License: fdgen\view\web\vendor\LICENSE-three.js.
- JetBrains Mono 2.304: OFL-1.1. The font of the app and the viewer. License:
  fdgen\view\web\vendor\fonts\LICENSE-jetbrains-mono.txt.

Python packages
---------------

In python\Lib\site-packages; the license texts are in each package's .dist-info directory.

- CasADi: LGPL-3.0-or-later. Symbolic derivatives and code generation. Installed is its core
  (casadi\libcasadi.dll and the Python module, unchanged from the CasADi package on PyPI) with the
  MinGW-w64 GCC runtime it needs (libstdc++, libgcc: GPL-3.0 with the GCC Runtime Library
  Exception; libwinpthread: MIT and BSD); the solver plugins of the package (IPOPT, HiGHS, OpenBLAS,
  ...) are left out, freedyn2 does not use them. Licenses: casadi\include\licenses (CasADi:
  casadi\include\licenses\casadi\LICENSE).
- NumPy: BSD-3-Clause (with bundled OpenBLAS: BSD-3-Clause, and others).
- PyYAML: MIT.
- jsonschema: MIT.
- mcp (Model Context Protocol SDK): MIT.
- pywebview: BSD-3-Clause. The app window (with pythonnet: MIT, clr_loader: MIT, bottle: MIT,
  proxy_tools: MIT).
- pywin32: PSF-2.0.
- cryptography: Apache-2.0 OR BSD-3-Clause (contains OpenSSL: Apache-2.0).
- Further dependencies under MIT, BSD-3-Clause, Apache-2.0 and PSF-2.0: see
  licenses\python-packages.txt.

C compiler
----------

Component "C compiler", in python\Lib\site-packages\ziglang.

- Zig (ziglang): MIT. License: ziglang\LICENSE.
  Installed are its C libraries and headers for Windows (the target of model plugins), under their
  own licenses: MinGW-w64 (ZPL-2.1, parts public domain, BSD, LGPL), LLVM libc++, libc++abi,
  libunwind, libtsan (Apache-2.0 WITH LLVM-exception). Their licenses: ziglang\lib\libc\mingw\COPYING
  and ziglang\lib\*\LICENSE.TXT. Those of the other targets (glibc, musl, wasi-libc, macOS, BSDs)
  are left out. Model plugins compiled with it link only what the model needs.

Uninstalling
------------

The uninstaller removes the program; your data in %APPDATA%\freedyn2 and %LOCALAPPDATA%\freedyn2
(settings, caches of compiled model plugins) remains. Delete those directories to remove them.
