Third-party licences
LayerGlance is proprietary software made by FiddlerCrab UG (haftungsbeschränkt). It includes open-source components, which are licensed to you under their own licences. Those licences take precedence over our licence and sale terms for those components.
Each product also ships its notices and licence texts. The full text of every licence named here is linked from its identifier. Questions: hello@fiddlercrab.eu.
LayerGlance Touch and LayerGlance Glow firmware
| Component | Version | Licence | Used in |
|---|---|---|---|
| Arduino ESP32 coreContains separately licensed bundled components. | 3.1.0 | LGPL-2.1-or-later | Touch, Glow |
| ESP-IDF libraries for ArduinoMixed component licences, mainly Apache-2.0. | 5.3.0+sha.083aad99cf | Apache-2.0 | Touch, Glow |
| pioarduino platform-espressif32Build platform. | 53.3.10 | Apache-2.0 | Touch, Glow |
| ESP-IDF DHCP parser backportSetup-network DHCP option-parser security fix. | 5.3.2+9f713dbc | Apache-2.0 | Touch, Glow |
| Arduino WebServer parser backportModified multipart parser; corresponding source accompanies the relink kit. | 3.1.0+bb860486 | LGPL-2.1-or-later | Touch |
| ESPAsyncWebServer | 3.6.0 | LGPL-3.0-only | Glow |
| AsyncTCP | 3.3.2 | LGPL-3.0-only | Glow |
| ArduinoJson | 7.4.3 | MIT | Touch, Glow |
| PubSubClientLayerGlance Touch uses a modified copy. | 2.8.0 | MIT | Touch, Glow |
| FastLEDContains separately licensed bundled third-party code. | 3.10.3 | MIT | Glow |
| ESP32_Display_Panel | 0.2.2 | Apache-2.0 | Touch |
| ESP32_IO_Expander | 0.1.0 | Apache-2.0 | Touch |
| PNGdec | 1.1.6 | Apache-2.0 | Touch |
| ESP-DSP | 1.4.12 | Apache-2.0 | Touch |
| OpenFontRenderIncludes FreeType; some files are MIT-licensed. | 1.2.0 | FTL | Touch |
| Montserrat Medium font | unversioned | OFL-1.1 | Touch |
| Montserrat SemiBold font | unversioned | OFL-1.1 | Touch |
| Font Awesome Free Solid fontFont under OFL-1.1, icons under CC-BY-4.0, code under MIT. | unversioned | OFL-1.1 | Touch |
Portions of this software are copyright © The FreeType Project (www.freetype.org). All rights reserved.
LGPL libraries: source code and relinking
The firmware uses libraries under the GNU Lesser General Public License: the Arduino ESP32 core (LGPL-2.1-or-later, in both products), its modified WebServer parser in LayerGlance Touch, and ESPAsyncWebServer and AsyncTCP (LGPL-3.0, in LayerGlance Glow). LayerGlance Bridge includes the Python package zeroconf (LGPL-2.1-or-later).
Written offer.
For at least three years after we last ship a given version of the LayerGlance Touch or LayerGlance Glow firmware, we will give anyone who has received that version, on request to hello@fiddlercrab.eu:
- the complete corresponding source code of the LGPL libraries used in it, in the versions used and including any changes we made; and
- the object files, linker scripts and build instructions needed to relink the firmware with a modified version of those libraries (section 6 of the LGPL version 2.1 and section 4 of the LGPL version 3), together with the information needed to install the relinked firmware on your controller.
The same offer covers the source code of zeroconf as shipped with each version of LayerGlance Bridge. We provide these materials as a download free of charge, or on a physical medium for no more than our cost of making and sending it. Please tell us the product and firmware or bridge version.
You may modify these libraries in the combined work and relink the firmware with your modified versions, and you may reverse engineer the firmware to the extent needed to debug such modifications. Our licence and sale terms do not restrict these rights. Customer-download firmware does not enable Secure Boot, so a relinked image can be installed over USB. Our own code remains proprietary.
LayerGlance Bridge
Python packages included in the Windows, Linux and Raspberry Pi builds:
| Component | Version | Licence |
|---|---|---|
| paho-mqtt | 2.1.0 | EPL-2.0 or BSD-3-Clause |
| cryptography | 50.0.2 | Apache-2.0 or BSD-3-Clause |
| cffi | 2.0.0 | MIT |
| pycparser | 3.0 | BSD-3-Clause |
| zeroconf | 0.151.3 | LGPL-2.1-or-later |
| ifaddr | 0.2.0 | MIT |
| esptool-jsBundles pako and atob-lite (MIT). Used by the setup page to install lights by USB. | 0.6.0 | Apache-2.0 |
| Python runtimeIncluded in the packaged bridge builds. | 3.11 (Linux), 3.12 (Windows) | PSF-2.0 |
Build and test tools that are not distributed: packaging 26.0 (Apache-2.0 or BSD-2-Clause), colorama 0.4.6 (BSD-3-Clause), pyinstaller 6.20.0 (GPL-2.0-only with Bootloader-exception), pyinstaller-hooks-contrib 2026.5 (Apache-2.0 or GPL-2.0-or-later), altgraph 0.17.5 (MIT), pefile 2024.8.26 (MIT), pywin32-ctypes 0.2.3 (BSD-3-Clause), setuptools 84.1.0 (MIT), wheel 0.47.0 (MIT), pytest 9.0.3 (MIT), pluggy 1.6.0 (MIT), iniconfig 2.3.0 (MIT), pygments 2.20.0 (BSD-2-Clause). LayerGlance Bridge is packaged with PyInstaller; its bootloader is included under the GPL-2.0 with the PyInstaller bootloader exception.
LayerGlance app for iPhone, iPad and Apple Watch
The app, its widgets and its Apple Watch app use only Apple's system frameworks and our own code. They contain no third-party libraries.
This website
Open-source packages used to run this website and delivered to your browser, including the browser installer:
| Component | Version | Licence |
|---|---|---|
| @supabase/auth-js | 2.118.0 | MIT |
| @supabase/functions-js | 2.118.0 | MIT |
| @supabase/phoenix | 0.4.5 | MIT |
| @supabase/postgrest-js | 2.118.0 | MIT |
| @supabase/realtime-js | 2.118.0 | MIT |
| @supabase/ssr | 0.12.7 | MIT |
| @supabase/storage-js | 2.118.0 | MIT |
| @supabase/supabase-js | 2.118.0 | MIT |
| cookie | 1.1.1 | MIT |
| iceberg-js | 0.8.1 | MIT |
| next | 15.5.28 | MIT |
| @next/env | 15.5.28 | MIT |
| react | 19.2.8 | MIT |
| react-dom | 19.2.8 | MIT |
| scheduler | 0.27.0 | MIT |
| styled-jsx | 5.1.6 | MIT |
| client-only | 0.0.1 | MIT |
| @swc/helpers | 0.5.15 | Apache-2.0 |
| tslib | 2.8.1 | 0BSD |
| postcss | 8.5.23 | MIT |
| nanoid | 3.3.19 | MIT |
| picocolors | 1.1.1 | ISC |
| source-map-js | 1.2.2 | BSD-3-Clause |
| caniuse-lite | 1.0.30001806 | CC-BY-4.0 |
| @vercel/analytics | 2.0.1 | MIT |
| esp-web-tools | 10.4.0 | Apache-2.0 |
| esptool-js | 0.6.0 | Apache-2.0 |
| improv-wifi-serial-sdk | 2.8.0 | Apache-2.0 |
| @material/web | 2.5.0 | Apache-2.0 |
| lit | 3.3.3 | BSD-3-Clause |
| lit-element | 4.2.2 | BSD-3-Clause |
| lit-html | 3.3.3 | BSD-3-Clause |
| @lit/reactive-element | 2.1.2 | BSD-3-Clause |
| @lit/context | 1.1.6 | BSD-3-Clause |
| @lit-labs/ssr-dom-shim | 1.6.0 | BSD-3-Clause |
| @types/trusted-types | 2.0.7 | MIT |
| pako | 2.2.0 | MIT and Zlib |
| atob-lite | 2.0.0 | MIT |
Build tooling that is not delivered to visitors is listed in the software bill of materials we keep for each release.