keelOS: third-party software, licences and source code
=======================================================

keelOS (hyp, keel, keel-rdp, the installer and the glue scripts) is our own code. The image also
carries software of others, each under its own licence. This directory
(/usr/share/doc/keel on the host; the same files are served by the host's web page at /licenses.html)
holds what the licences ask us to hand on:

  NOTICE-keel.txt       Go modules compiled into keel
  NOTICE-keel-rdp.txt   Rust crates and libvpx compiled into keel-rdp
  NOTICE-image.txt      FreeBSD packages in the image (dmidecode, smartmontools, swtpm, ipmitool, ...)
  packages.txt          the exact packages of this build: name, version, port, licence
  licenses/             full texts: GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0, MPL-2.0, Apache-2.0,
                        the Realtek BSD-4-Clause notice, AMD's microcode licence
  /usr/local/share/licenses/   each FreeBSD package's own licence files, the guest images' notices
                        (keel-mvm, keel-linuxpart, ...), the NIC driver packages' licences
  /usr/local/share/kcell, /root/keel/share/dvm   the display VM's and the Docker VM's licence
                        texts and SOURCES.txt (what is inside, at which version, from where)

Written offer of source code
----------------------------
Some of this software is licensed under the GNU General Public License (GPL), the GNU Lesser
General Public License (LGPL) or the Mozilla Public License (MPL): the Linux kernels and the
Debian and Alpine packages inside the display VM, the Docker VM, the management VM and the Linux
partition image, and the GPL/LGPL FreeBSD packages listed in packages.txt (dmidecode, smartmontools,
readline, glib, gnutls, nettle, gmp, ...). For every keelOS build we publish the complete
corresponding source code of these components, exactly as built (upstream tarballs at the pinned
versions, our patches and kernel configurations, the scripts that control the build), and keep it
available for at least three years after the last time we distribute that build:

    https://keelos.dev/sources/

A build is named by its version, e.g. keelos-7e0f186-20261025T164153Z; its source bundle is
keelos-<version>-sources.tar.xz with a MANIFEST.txt that lists every component, its licence and the
file that holds its source (with sha256). This is the equivalent access of GPLv2 section 3 (the
source is offered from the same place as the binaries) and the corresponding source of GPLv3
section 6, LGPLv2.1 section 6 and LGPLv3 section 4. If you cannot download it, write to
contact@keelos.dev, naming the version, and we will send the source on a physical medium for
the cost of doing so (GPLv2 section 3(b)).

The Linux kernel is distributed under GPL-2.0 only, with the Linux-syscall-note for the user-space
API headers. The kernels of the display VM and of the Linux partition carry our patches; they are
in the bundle in the order they are applied. keelOS programs run beside these components as
separate programs and are not derived from them.

Notices that the licences ask for
---------------------------------
- Realtek's if_re.ko (realtek-re-kmod) is BSD-4-Clause. This product includes software developed
  by Bill Paul.
- cpu-microcode-amd: the AMD microcode licence (licenses/AMD-microcode.txt) is reproduced with
  the microcode, in the slot's firmware directory on the boot partition, and here. You may not
  reverse engineer, decompile or disassemble the microcode.
- Intel GPU firmware in the display VM (linux-firmware, LICENSE.i915): redistributed unmodified
  in binary form with its licence text.
- Docker Engine, Docker Compose, containerd, runc (Apache-2.0): redistributed unmodified.

The names of the projects above are trademarks of their owners.
