# Third-party notices SDRSowa includes or is derived from the following third-party work. The full licence texts, copyright lines and upstream notice files of every part are in the `licenses` folder next to the program (`licenses\README.txt` lists them). ## Source code ### pl_mpeg: MPEG-1 Audio Layer II decoder (ported to C#) `src/SDRSowa.Core/Dab/Mp2Decoder.cs` is a C# port of the MP2 decoder in pl_mpeg (https://github.com/phoboslab/pl_mpeg), which is itself based on kjmp2 by Martin J. Fiedler. SDRSowa changes: requantisation follows ISO/IEC 11172-3 (levels divided by L instead of L+1), with the output level calibrated accordingly. ``` MIT License Copyright (c) 2019 Dominic Szablewski - https://phoboslab.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ### ft8_lib: FT8 / FT4 encoder and decoder (ported to C#) `src/SDRSowa.Core/Ft8/` (FtxConstants, FtxCrc, FtxLdpc, FtxMessage, FtxEncoder and the waterfall, Costas sync score and candidate search in FtxDecoder) is a C# port of ft8_lib by Karlis Goba (https://github.com/kgoba/ft8_lib). SDRSowa additions: candidate refinement on complex baseband, coherent and non-coherent soft bit metrics, subtraction of decoded signals with further passes, the DXpedition message type, "R" + locator in standard messages, the UTC slot collector. `src/SDRSowa.Core/Dsp/MixedRadixFft.cs` follows the scheme of KISS FFT (no code copied). ``` MIT License Copyright (c) 2018 Kārlis Goba Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` The FT8 and FT4 protocols were designed by Joe Taylor (K1JT), Steve Franke (K9AN) and Bill Somerville (G4WJS) for their program; the protocol facts come from their published description (QEX, 2020). None of that program's (GPL) code is included. ### libacars: ADS-C reports in ACARS messages (ported to C# and Kotlin) `src/SDRSowa.Core/Acars/AdsC.cs` (Windows) and `app/src/main/java/cc/sdrsowa/app/acars/AdsC.kt` (Android) are ports of the ARINC 622 wrapper and the downlink ADS-C report decoding of libacars by Tomasz Lemiech (https://github.com/szpajder/libacars): the labels that carry it, the ground address and IMI, the CRC check, and the tag layouts and scales (basic report, flight ID, predicted route, earth reference, meteo data, airframe ID). The CRC is our own bitwise form of the same CRC-16. The test messages are libacars' own examples. ``` MIT License Copyright (c) 2018-2023 Tomasz Lemiech Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ### MeshCore: packet format and public channel key (Mesh page) `src/SDRSowa.Core/Lora/MeshCore.cs` follows the packet format, payload layouts, MAC and cipher of MeshCore by Scott Powell / rippleradios.com (https://github.com/meshcore-dev/MeshCore) and uses its public channel key; written anew in C#, receive only. ``` MIT License Copyright (c) 2025 Scott Powell / rippleradios.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` The LoRa receiver in `src/SDRSowa.Core/Lora/` is SDRSowa's own code. The LoRa coding facts (whitening sequence, header checksum, CRC rule, Hamming parity, interleaver) come from J. Tapparel et al. (EPFL), "An Open-Source LoRa Physical Layer Prototype on GNU Radio" (2020) and their gr-lora_sdr, read as a reference only; the Meshtastic packet header, encryption and message field numbers come from the Meshtastic documentation and protocol definitions. No gr-lora_sdr or Meshtastic (GPL) code is included. ### meshcore-packet-capture: MeshCore MQTT observer format (Share to MQTT) `src/SDRSowa.Core/Mqtt/MeshUplink.cs` follows the topics, packet and status JSON, packet hash and login token of meshcore-packet-capture by Adam Gessaman (https://github.com/agessaman/meshcore-packet-capture); written anew in C#. The Ed25519 signing (`src/SDRSowa.Core/Mqtt/Ed25519.cs`) and the MQTT 3.1.1 client are SDRSowa's own code, from RFC 8032 and the OASIS MQTT 3.1.1 standard. The Meshtastic ServiceEnvelope is written from the published field numbers; no Meshtastic (GPL) code or protocol files are included. ``` MIT License Copyright (c) 2026 Adam Gessaman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ### M17 Protocol Specification (followed, no code taken) The M17 decoder (`src/SDRSowa.Core/M17`) is SDRSowa's own code written from the M17 Protocol Specification, rev 2.0.9, © 2023-2025 M17 Project (https://spec.m17project.org, GNU Free Documentation License 1.3). The constants it uses (sync bursts, randomizer sequence, interleaver polynomial, puncturing patterns, Golay matrix, CRC polynomial, address alphabet) are taken from that document. No code from libm17, m17-cxx-demod or other M17 implementations is included. ### NORBY beacon format (followed, no code taken) The NORBI telemetry reader (`src/SDRSowa.Core/Lora/NorbiTelemetry.cs`) is SDRSowa's own code written from the satellite team's published beacon format ("Beacon format, SMKA Norby", Novosibirsk State University; English translation by K4KDR, https://www.qsl.net/k/k4kdr/files/norby-specs-translated-english.pdf): the frame layout, field sizes and units. No code from other telemetry decoders is included. ### Yaesu Amateur Radio Digital Standards (followed, no code taken) The YSF (System Fusion) decoder (`src/SDRSowa.Core/Ysf`) is SDRSowa's own code written from Yaesu Musen Co., Ltd.'s published "Amateur Radio Digital Standards", Revision 1.02 (2015-07-29): frame sync, FICH fields, callsign data layout, CRC, Golay generation matrix, trellis code, interleavers and whitening preset. System Fusion, C4FM and WIRES-X are Yaesu's names. No code from other YSF implementations, open-source or not, is included. ### Material Icons: the bunny head (hops away) on the Mesh node cards `MeshCardIcons.Rabbit` in `src/SDRSowa.App/Controls/MeshIcons.cs` is the path of the `cruelty_free` icon from Google's Material Icons, https://github.com/google/material-design-icons, Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0). ### Fluent UI System Icons: the transcribe icon `TranscribeGeometry` in `src/SDRSowa.App/Styles/Theme.axaml` is the path of `text_edit_style_24_regular` from Microsoft's Fluent UI System Icons, https://github.com/microsoft/fluentui-system-icons, MIT License (the same icon as the Android app). ## Data - **GeoNames** cities1000 and country names (`src/SDRSowa.App/Assets/places.tsv.gz`, the offline place list for finding the antenna location by name; made by `tools/build-gazetteer.sh`): Creative Commons Attribution 4.0, https://www.geonames.org - **Natural Earth** 1:110m coastline (`src/SDRSowa.App/Assets/coastline.txt`) and 1:50m land, lakes, rivers, borders, roads and populated places (`src/SDRSowa.App/Assets/worldmap.bin`, the offline world map): public domain, https://www.naturalearthdata.com - **OpenStreetMap** street map tiles, downloaded while you look at the map: © OpenStreetMap contributors; the data under the Open Database License (ODbL), the tiles under CC BY-SA 2.0, https://www.openstreetmap.org/copyright - **Sentinel-2 cloudless 2017** satellite map tiles by EOX IT Services GmbH (contains modified Copernicus Sentinel data 2017), downloaded while you look at the map: Creative Commons Attribution 4.0 (this 2017 edition; later editions are non-commercial), https://cloudless.eox.at - **NASA Global Imagery Browse Services (GIBS), Blue Marble** map tiles and the offline basemap package (`basemap-bluemarble-z0-6.zip`), served from our copy at sdrsowa.com/maps with NASA GIBS as the fallback: public domain, https://earthdata.nasa.gov/gibs - **tar1090-db** aircraft registry (Mictronics database, by wiedehopf), downloaded when chosen from https://github.com/wiedehopf/tar1090-db. The source states no licence; SDRSowa does not copy or republish it, it is only downloaded from there to your PC. - **OpenFlights** airline names, downloaded when chosen: Open Database License 1.0, https://openflights.org - **EiBi shortwave schedules** (Eike Bierwirth, http://www.eibispace.de/), bundled in `Data\eibi` and updated weekly: "All my frequency lists are free of cost, and any person is absolutely free to download, use, copy, or distribute these files or to use them within third-party software." No warranty: a schedule says what is planned. - **OurAirports** airports (the map's Airports layer), downloaded when the layer is first turned on and refreshed every 28 days: public domain, https://ourairports.com/data/ - **OurAirports** navaids (the VOR list the Radio screen names a VOR from), downloaded when a VOR is first tuned and refreshed every 28 days: public domain, https://ourairports.com/data/ - **HamQTH.com** (OK2CQR) open spot API, https://www.hamqth.com/developers.php: the default source of the DX spots on the Home spectrum (no login, no callsign): the cluster spots and the Reverse Beacon Network skimmer reports of the bands on screen, asked for once a minute (skimmers every two minutes). Shown only, never stored beyond an hour or passed on. - **DX cluster spots** (for licensed amateurs who choose a cluster instead, off until the user switches them on and agrees): received live from the DX cluster node the user chooses (DXSpider, AR-Cluster or CC Cluster software run by radio amateurs, for example dxfun.com, gb7djk.dxcluster.net, hamqth.com, dxc.ve7cc.net), including the Reverse Beacon Network skimmer spots the node relays (https://www.reversebeacon.net). Shown only, never stored beyond an hour or passed on. No cluster software is included; SDRSowa's own code reads the spot lines. - **cty.dat (Big CTY)** by Jim Reisert AD1C, https://www.country-files.com/ (the country of a Morse callsign): bundled in `Data\cty.dat` and refreshed every 14 days. Copyright (c) 1994-2026 Jim Reisert AD1C. MIT-style licence: permission is granted, free of charge, to use, copy, modify, merge, publish, distribute, sublicense and/or sell copies, provided the copyright notice and this permission notice are included; provided "as is", without warranty of any kind. The full notice ships as `Data\cty.dat.LICENSE.txt`. - **Balloon payload ID list** (`payload_id_list.txt` of horusdemodlib, Project Horus, https://github.com/projecthorus/horusdemodlib, commit 94e36c6, 2026-01-14): the names of the 4FSK binary balloon payload numbers, bundled unchanged in `Data\hab-payload-ids.txt` and only read (never fetched). GNU Lesser General Public License 2.1; the full text ships as `Data\hab-payload-ids.LICENSE.txt` and in `licenses\hab-payload-ids`. The receiver itself is SDRSowa's own code. - **MASTER.SCP** (Super Check Partial, https://www.supercheckpartial.com/, callsigns active in contests): downloaded at run time with the first Morse callsign and refreshed weekly, only when it changed; lets two copies confirm a Morse callsign instead of three. No licence is published, so SDRSowa never bundles or passes it on - **planespotters.net** aircraft photos (credited and linked on each photo) and **adsbdb.com** routes, looked up online when an aircraft is selected - **SatNOGS DB** transmitter data (downloaded at run time, cached): CC BY-SA 4.0, https://db.satnogs.org - **SatNOGS Network** observations (when each satellite and transmitter was last received by a ground station; sdrsowa.com builds a daily satellite-status.json from them (CC BY-SA 4.0), downloaded and cached): CC BY-SA 4.0, https://network.satnogs.org - **SondeHub** radiosonde launch sites (`src/SDRSowa.Core/Sonde/SondeSites.cs`, the "Near you" line on the Radiosondes page: site names, places and sonde types, fetched 2026-10-28): CC BY-SA 2.0, https://sondehub.org and https://api.v2.sondehub.org/sites - **CelesTrak** orbital elements (downloaded at run time, cached): https://celestrak.org ## Models (bundled) - **Silero VAD** (`silero_vad.onnx`): MIT License, https://github.com/snakers4/silero-vad - **DeepFilterNet3** (`deepfilternet3.onnx`, noise reduction "AI, strong"): MIT / Apache-2.0, https://github.com/Rikorose/DeepFilterNet - **RNNoise** (noise reduction "AI, light") by the Xiph.Org Foundation, Mozilla, Jean-Marc Valin and Amazon (`Data\nr-net.bin`, its trained weights converted to the app's own format; the denoiser and its pitch search are ported to C# and run by SDRSowa's own code, no RNNoise binary is included): BSD 3-clause style licence, Copyright (c) 2007-2017, 2024 Jean-Marc Valin, (c) 2023 Amazon, (c) 2017 Mozilla, (c) 2005-2017 Xiph.Org Foundation, (c) 2003-2004 Mark Borgerding, https://github.com/xiph/rnnoise. The licence text is in `Data\nr-net.LICENSE.txt`. - **DeepCW** Morse reader by Alex Shovkoplyas VE3NEA (`Data\cw-net.bin`, its trained weights converted to the app's own format; the network is run by SDRSowa's own code): MIT License, Copyright (c) 2024 Alex Shovkoplyas, https://github.com/VE3NEA/DeepCW. The licence text is in `Data\cw-net.LICENSE.txt`. ## Models (downloaded when chosen) - **OpenAI Whisper** Tiny, Base, Small, Medium and Large-v3 Turbo, ggml conversion from whisper.cpp: MIT License, https://github.com/openai/whisper, https://huggingface.co/ggerganov/whisper.cpp - **Moonshine** Tiny and Base (English) by Useful Sensors, Inc. (dba Moonshine AI), ONNX exports from onnx-community: MIT License, Copyright (c) 2025 Useful Sensors, Inc. (dba Moonshine AI), https://github.com/moonshine-ai/moonshine. SDRSowa runs them with its own code; the non-English Moonshine models (Moonshine AI Community License) are not used. - **Supertonic 3** natural voices by Supertone Inc. (downloaded when chosen): model under the BigScience Open RAIL-M licence (its use restrictions, paragraph 5 and Attachment A, are part of the SDRSowa licence), example code under the MIT License, Copyright (c) 2025 Supertone Inc., https://huggingface.co/supertone-oss-archive/supertonic-3 (also at Supertone/supertonic-3), https://github.com/supertone-inc/supertonic. SDRSowa runs the model with its own code; speech made with it is labelled as a computer voice. - **M2M100 418M** translator by Meta AI (ONNX conversion by Xenova): MIT License, https://huggingface.co/facebook/m2m100_418M - **YAMNet** speech / music detector by Google (ONNX conversion by zeropointnine): Apache-2.0, https://github.com/tensorflow/models/tree/master/research/audioset/yamnet ## Tools downloaded on request - **Zadig** 2.9 (Pete Batard / Akeo Consulting, from libwdi 1.5.1), downloaded and started only when you ask to install the USB driver: GNU General Public License v3; its complete source (`libwdi-1.5.1-source.zip`) is on sdrsowa.com next to it. https://zadig.akeo.ie ## Libraries - **NuGet packages:** Avalonia (MIT), CommunityToolkit.Mvvm (MIT), Microsoft.Data.Sqlite (MIT), SQLitePCLRaw (Apache-2.0) with SQLite (public domain, `e_sqlite3.dll`), Microsoft.ML.OnnxRuntime (MIT), Microsoft.ML.Tokenizers (MIT) with Google.Protobuf (BSD-3-Clause), NAudio.WinMM and NAudio.Core (MIT), Whisper.net and whisper.cpp / ggml (MIT), MicroCom.Runtime (MIT), Microsoft.IO.RecyclableMemoryStream (MIT). - **Shipped with Avalonia:** SkiaSharp (MIT) and Skia (BSD-3-Clause, `libSkiaSharp.dll`), HarfBuzzSharp (MIT) and HarfBuzz (Old MIT, `libHarfBuzzSharp.dll`), ANGLE (BSD-3-Clause, `av_libglesv2.dll`), the Inter font (SIL Open Font License 1.1). - **.NET 8 runtime and libraries** (MIT, https://github.com/dotnet/runtime): compiled into the program (Native AOT). - **Microsoft Visual C++ Redistributable** (`vcruntime140.dll`, `vcruntime140_1.dll`, `msvcp140.dll`, `msvcp140_1.dll`, `vcomp140.dll`): Microsoft's runtime for Whisper and ONNX Runtime, shipped next to the program as Microsoft allows for these redistributable files (Visual Studio licence, Redistributable Code). Setup installs the full redistributable from Microsoft (`vc_redist.x64.exe`, inside the setup) when it is missing. ## The installer - **Inno Setup** 6.7 (https://jrsoftware.org/isinfo.php) makes `SDRSowa--Setup.exe` and its uninstaller. Copyright (C) 1997-2026 Jordan Russell. All rights reserved. Portions Copyright (C) 2000-2026 Martijn Laan. All rights reserved. Used under the Inno Setup License (free use, also in commercial applications; this notice is kept). - **libwdi** 1.5.1 (Pete Batard and contributors, https://github.com/pbatard/libwdi): Setup runs its example program `wdi-simple.exe` to install the WinUSB driver for RTL-SDR sticks; a copy is in the program's `tools` folder. GNU Lesser General Public License v3 or later; the licence texts are in `licenses\libwdi` (LGPL 3 and the GPL 3 it builds on). `wdi-simple.exe` is a separate program built from the unchanged libwdi 1.5.1 source with a WinUSB-only, 64-bit build configuration; that source, the configuration and the build script are on sdrsowa.com (`libwdi-1.5.1-pulsesdr-src.zip`), or write to contact@sdrsowa.com. It embeds Microsoft's WinUSB coinstallers (`WdfCoInstaller01011.dll`, `WinUSBCoInstaller2.dll`, Windows Driver Kit redistributables, signed by Microsoft), which libwdi's WinUSB driver package names. ## Codecs (DAB+ audio, the DATV picture and sound, and the MP3 network stream) **SDRSowa includes no audio or video codecs** (from 2026-10-16). DAB+ sound, DATV and the MP3 stream use the codecs already on the user's system; without one, SDRSowa says that the system cannot decode it. Those codecs are under their own licences. ## External device library (other receivers, optional) **SDRSowa includes no part of it** (from 2026-10-26). When the user has installed the SoapySDR device library (https://github.com/pothosware/SoapySDR, Boost Software License 1.0) and turns on Settings › Receiver › Other receivers, SDRSowa loads it from the user's own install and calls its C API through its own declarations (no header or code copied). Of its hardware modules SDRSowa loads only those whose licences were checked (HackRF, Airspy, Airspy HF+, SDRplay, bladeRF, LimeSDR, HydraSDR); each module and the vendor library it uses stays under its own licence. RTL-SDR sticks always use SDRSowa's own driver: the library's RTL-SDR module is never loaded. Details: `docs/research/external-device-library.md`. Protocol knowledge was cross-checked against public documentation and public open-source programs and drivers; no code from GPL projects is included.