RLX-SRC — Written offer
Source for the LGPL and MPL components Raylux ships.
Raylux links several libraries that are licensed to you under the GNU Lesser General Public License or the Mozilla Public License, not under the Raylux license. Those licenses give you the right to the source, and this page is where Raylux hands it over. The archives below are the code the shipped binaries were actually built from.
The offer
Referenced by §8.4 of the license agreement in every Raylux installer.
Raylux L.L.C. offers to any third party in possession of a copy of Raylux, for a period of three (3) years from the date Raylux distributed that copy, the complete corresponding machine-readable source code for the LGPL- and MPL-licensed components it contains, together with the information needed to relink Raylux against modified versions of those components.
That source is available for download from this page at no charge. It may also be requested on a physical medium by writing to the address below, for a fee no greater than Raylux's cost of performing the distribution.
This offer covers the components listed in section 02. It does not cover Raylux's own software, which is proprietary and is not open source — see section 05.
By post
Raylux L.L.C.
4845 Pearl East Cir Ste 118 #837445
Boulder, CO 80301
United States
Mark the envelope Attn: Source Request and state the Raylux version and the components you want.
By email
Use this if a download below fails, if you need a version of Raylux older than the one shown here, or if a checksum does not match. Broken links on this page are a license problem, so please do report them.
Archives
One set per Raylux release, rebuilt from that release’s own build definition. Releases that ship identical component source share a set. Each archive is the source as built, not an upstream snapshot — see section 03.
Raylux 2026.21
| Component | Version | License | Used by | Size | Download |
|---|---|---|---|---|---|
| Qt | 6.12.0 | LGPL-3.0 | Studio, Lens | 422.9 MB | tar.xz ↓ |
| libmariadb | 3.4.8 | LGPL-2.1 | Nexus | 873.6 KB | tar.gz ↓ |
| mariadb-connector-cpp | 1.1.5 | LGPL-2.1 | Nexus | 1.1 MB | tar.gz ↓ |
| open62541 | 1.4.14 | MPL-2.0 | Nexus | 4.0 MB | tar.gz ↓ |
| open62541pp | 0.21.0 | MPL-2.0 | Nexus | 317.5 KB | tar.gz ↓ |
| libplctag | 2.6.3 | MPL-2.0 | Nexus | 406.4 KB | tar.gz ↓ |
Build recipes (port files and patches, per release): 2026.21.
SHA256SUMS: 2026.21. The Qt archive is byte-identical to Qt's own and matches the checksum Qt publishes.
curl -O https://source.rayluxscada.com/2026.21/SHA256SUMS sha256sum -c --ignore-missing SHA256SUMS
Raylux 2026.19 – 2026.20
| Component | Version | License | Used by | Size | Download |
|---|---|---|---|---|---|
| Qt | 6.8.3 | LGPL-3.0 | Studio, Lens | 948.7 MB | tar.xz ↓ |
| libmariadb | 3.4.8 | LGPL-2.1 | Nexus | 873.6 KB | tar.gz ↓ |
| mariadb-connector-cpp | 1.1.5 | LGPL-2.1 | Nexus | 1.1 MB | tar.gz ↓ |
| open62541 | 1.4.14 | MPL-2.0 | Nexus | 4.0 MB | tar.gz ↓ |
| open62541pp | 0.21.0 | MPL-2.0 | Nexus | 317.5 KB | tar.gz ↓ |
| libplctag | 2.6.3 | MPL-2.0 | Nexus | 406.4 KB | tar.gz ↓ |
Build recipes (port files and patches, per release): 2026.19 · 2026.20.
SHA256SUMS: 2026.19 · 2026.20. The Qt archive is byte-identical to Qt's own and matches the checksum Qt publishes.
Raylux 2026.12
| Component | Version | License | Used by | Size | Download |
|---|---|---|---|---|---|
| Qt | 6.10.3 | LGPL-3.0 | Studio, Lens | 1.2 GB | tar.xz ↓ |
| libmariadb | 3.4.8 | LGPL-2.1 | Nexus | 873.6 KB | tar.gz ↓ |
| mariadb-connector-cpp | 1.1.5 | LGPL-2.1 | Nexus | 1.1 MB | tar.gz ↓ |
| open62541 | 1.4.14 | MPL-2.0 | Nexus | 4.0 MB | tar.gz ↓ |
| open62541pp | 0.21.0 | MPL-2.0 | Nexus | 317.5 KB | tar.gz ↓ |
| libplctag | 2.6.3 | MPL-2.0 | Nexus | 406.4 KB | tar.gz ↓ |
Build recipes (port files and patches, per release): 2026.12.
SHA256SUMS: 2026.12. The Qt archive is byte-identical to Qt's own and matches the checksum Qt publishes.
What these archives contain
The distinction between "the upstream release" and "what we built" matters here.
As built, not as released upstream
The archives marked -as-built are the exact source trees the
shipped binaries were compiled from, including the patches the
build applies before compiling. Three of these components are
patched during the build — libmariadb, mariadb-connector-cpp and
open62541, each by the patches its vcpkg port applies — so an upstream release tarball would
not be the corresponding source for what Raylux
distributes. These are.
The patches themselves, and the port files that apply them, are in the build recipes archive, so you can see exactly what differs from upstream.
Qt is the exception
Raylux does not build Qt. It links the shared libraries from Qt's
own released build, unmodified, and installs them as separate
files beside the Raylux executables. The corresponding source is
therefore Qt's published qt-everywhere-src archive, which is
what is offered here.
Modifications to MPL-licensed files
§8.3 of the license agreement promises any modifications Raylux has
made to MPL-licensed files. Raylux has written none of its
own. The changes applied at build time are the vcpkg port’s:
one patch, and three lines it removes from CMakeLists.txt
(the documentation, lint and link-time-optimization switches). Both are
in the build recipes archive, each release’s
MANIFEST.json lists them, and the open62541 archive above
is the tree with them already applied.
open62541pp and libplctag are built from unmodified upstream sources
at the versions above; libplctag is fetched at the pinned commit
c55bc58, recorded in the build recipes.
libplctag is dual-licensed under MPL-2.0 and the LGPL. Raylux elects MPL-2.0.
The two MariaDB archives go together
mariadb-connector-cpp normally vendors libmariadb as a git submodule.
In the Raylux build that submodule is empty on purpose: the build is
patched to link the separately-built libmariadb instead. The empty
directory in that archive is not an omission — the code that fills
it is the libmariadb-3.4.8 archive above. You need both.
Rebuilding and relinking
What the LGPL entitles you to do, and what it costs you in support.
Your rights
You may modify any of these libraries and run Raylux against your modified versions, and you may reverse engineer Raylux as far as debugging those modifications requires. The Raylux license does not restrict either — where it conflicts with the LGPL or the MPL, those licenses govern.
Every one of these components is dynamically linked, and its shared library is installed as a separate file next to the Raylux executables. In practice that means replacing one is a matter of building your version and dropping the resulting library in place. You do not need to relink Raylux itself, and you do not need anything from Raylux that is not on this page.
What it costs you
Replacing one of these libraries voids the warranty and any support arrangement for the affected Nexus Instance, and Raylux accepts no liability for how a Nexus Instance behaves while running modified libraries.
That is a limit on what Raylux owes you, not on what you are allowed to do. It does not restrict your rights under the LGPL or the MPL in any way.
A Nexus Instance supervises physical plant. If you are relinking one in production, treat it as a change to a safety-relevant system and test it as such.
What this page does not offer
Stated plainly so there is no ambiguity in either direction.
Raylux's own source
Nexus, Studio, Spectrum and Lens are proprietary. Raylux is not open source, no part of this offer extends to Raylux's own code, and nothing on this page should be read as offering it. The components above are dynamically linked precisely so that their licenses do not reach Raylux's code.
The other components Raylux ships
Raylux also ships around eighty permissively licensed components — MIT, BSD, ISC, Apache-2.0, and others — whose licenses require attribution rather than source. Those are listed in full on the third-party notices page.
Chromium, embedded in Studio and Lens by way of Qt WebEngine, carries
its own large notice set. It is reproduced in
licenses/chromium/ in your installation directory.