SCADA / HMI

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.

01

The offer

Referenced by §8.4 of the license agreement in every Raylux installer.

Written offer — valid three years from distribution

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

support@rayluxscada.com

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.

02

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 Qt 6.12.0 · current
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 Qt 6.8.3
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 Qt 6.10.3
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.

03

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.

04

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.

05

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.