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 licence. Those licences 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 licence 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 licence problem, so please do report them.
Archives
Raylux 0.29.0. Each archive is the source as built, not an upstream snapshot — see section 03.
| Component | Version | Licence | Used by | Size | Download |
|---|---|---|---|---|---|
| Qt | 6.11.1 | LGPL-3.0 | Studio, Lens | 970.6 MB | tar.xz ↓ |
| libmariadb | 3.4.8 | LGPL-2.1 | Nexus | 879 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.2 MB | tar.gz ↓ |
| open62541pp | 0.21.0 | MPL-2.0 | Nexus | 326 KB | tar.gz ↓ |
| libplctag | 2.6.3 | MPL-2.0 | Nexus | 415 KB | tar.gz ↓ |
| Build recipes | 0.29.0 | — | All of the above | 8.7 KB | tar.gz ↓ |
Checksums
c26082beb82ba68ecf0a07e0de5e9b51b7831032279a4a4de3e6d585f3d0a0a1 libmariadb-3.4.8-as-built.tar.gz a292bc5fc37963803733ca9f603dfcbad37ea8359afaeceb0fa97954d61673b7 libplctag-2.6.3-as-built.tar.gz d4d8a454bec4ee3e56a3d179a71ab3a6488fce0d80d2435486fd0344f18e0927 mariadb-connector-cpp-1.1.5-as-built.tar.gz 6f4d071e56b21e44f18fc98a62730f4cf4533b8b3dee79f38e0d1cb988114ee4 open62541-1.4.14-as-built.tar.gz adbd5ac2af06fcc3ae37694916ffa536d872cb40d949bd10f6787c097a56156c open62541pp-0.21.0-as-built.tar.gz f88cdc86056a81c504f789788d777c37f209a268edc12fc4b30123cd844e985d raylux-build-recipes-0.29.0.tar.gz 252acef8c5ae68074d91cadba2ee4a83465051bbb970dd26e8f0daa0f3904e03 qt-everywhere-src-6.11.1.tar.xz
Also served as SHA256SUMS, so you can verify a download without retyping any of it:
curl -O https://source.rayluxscada.com/0.29.0/SHA256SUMS sha256sum -c SHA256SUMS
The Qt checksum is Qt's own published value for
qt-everywhere-src-6.11.1.tar.xz — the file is byte-identical
to the one on download.qt.io, and you can verify it against
either source.
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, 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.
No modifications to MPL-licensed files
§8.3 of the licence agreement promises any modifications Raylux has
made to MPL-licensed files. Raylux has made none.
open62541, 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 licence does not restrict either — where it conflicts with the LGPL or the MPL, those licences 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 Gateway, and Raylux accepts no liability for how a Gateway 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 Gateway 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 licences 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 licences 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.