MolOcular — third-party licences
================================

MolOcular ships several pieces of other people's work. The ones with terms that
ask something of anyone passing the program on are reproduced here in full:
Qt, RDKit, InChI and Inter in both artefacts, and in the Linux AppImage also
ICU and the system libraries listed at the end.

Two more are not reproduced, for a stated reason rather than by omission:
boost_serialization (Boost Software License 1.0, pulled in by RDKit; a DLL in
the Windows ZIP, compiled into the bundled RDKit libraries on Linux), whose licence
explicitly exempts redistribution in machine-executable form from the
attribution requirement; and, in the Windows ZIP only, dxcompiler.dll /
dxil.dll, Microsoft's DirectX shader compiler, which Qt deploys and which this
application never calls into -- they arrive because windeployqt copies them,
not because anything here renders with Direct3D. The Linux AppImage does not
contain them.

One more is compiled into the executable and is likewise not reproduced, for
the same reason: Boost.PropertyTree and the rapidxml parser it bundles (Boost
Software License 1.0), header-only, which reads CML and ChemDraw XML (CDXML)
files. RDKit already compiled the same headers into this binary for its own CML
writer, so neither the CML nor the CDXML support added new third-party code --
only new uses of code that was here.

Qt 6                     Qt-LGPL-3.0.txt, GPL-3.0.txt
-------------------------------------------------------------------------------
The Qt libraries are used under the GNU Lesser General Public License, version 3.
LGPLv3 incorporates the GPLv3 by reference, which is why both texts are here.

What the LGPL asks of anyone passing this on: the Qt libraries are distributed
as separate shared libraries and are NOT statically linked into MolOcular, so
you may replace them with your own compatible build of Qt 6:

  - Windows ZIP: the Qt DLL files sit next to MolOcular.exe. Swap those files.
  - Linux AppImage: the Qt .so files are inside the image, under usr/lib.
    Run the AppImage with --appimage-extract, which unpacks it into a folder
    named squashfs-root; replace the files in squashfs-root/usr/lib and start
    squashfs-root/AppRun.

Qt's own source is available from https://download.qt.io — the version in use
is shown in MolOcular's About dialog.

RDKit                    RDKit-BSD-3-Clause.txt
-------------------------------------------------------------------------------
BSD 3-Clause. RDKit does the chemistry: aromaticity perception, 2D coordinate
generation and SMILES parsing. It is statically linked into MolOcular.exe on
Windows; in the Linux AppImage it is a set of libRDKit*.so files in usr/lib.

IUPAC InChI              InChI-MIT.txt
-------------------------------------------------------------------------------
MIT. The InChI library turns a structure into an IUPAC International Chemical
Identifier and back. It is compiled into the program -- into MolOcular.exe on
Windows, into the bundled RDKit libraries on Linux -- which is why its copyright
notice has to travel with it -- MIT asks for the notice to accompany the
binary, not merely the source.

Version 1.07.5, vendored from the IUPAC-InChI repository pinned to a commit
(cmake/VendorInChI.cmake), deliberately NOT through RDKit's own
download-inchi.sh: that script fetches 1.05 over unpinned plain HTTP under the
older bespoke IUPAC/InChI-Trust licence. MIT applies from 1.07 onwards, and
taking the newer source is what makes this entry a short one.

Inter                    Inter-OFL-1.1.txt
-------------------------------------------------------------------------------
SIL Open Font License 1.1. Inter is the typeface the interface is drawn in. The
font files are embedded in the executable as Qt resources. The OFL permits this;
it forbids selling the font on its own and requires that any derivative font not
use the reserved name.

MolOcular itself         ../LICENSE
-------------------------------------------------------------------------------
MIT. The licence text is in the file LICENSE, one level up from this folder:
next to MolOcular.exe in the Windows ZIP, and in usr/share/doc/molocular inside
the Linux AppImage.

ICU (Linux AppImage only)  ICU-Unicode-License.txt
-------------------------------------------------------------------------------
Unicode License. The International Components for Unicode, version 73, which Qt
for Linux links against and ships as libicu*.so; the AppImage carries them in
usr/lib. On Windows Qt uses the copy of ICU that is part of the operating
system, so the ZIP does not contain it.

System libraries (Linux AppImage only)  system/
-------------------------------------------------------------------------------
An AppImage carries the libraries it needs that a distribution cannot be relied
on to provide -- the xcb and xkbcommon libraries Qt's X11 support loads, GLib,
D-Bus, zstd and others. They are copied from the Ubuntu 22.04 build machine,
and each comes with its Debian copyright file, which states its licence: they
are in system/, one file per package, and system/MANIFEST.txt says which
library came from which package. The ones under the LGPL (GLib, libsystemd,
libgcrypt among them) are separate .so files and can be replaced the same way
as Qt's, above. packaging fails if a bundled library has no copyright file.
