FT8TW Web (ft8tw-web) Copyright (c) 2026 Dan Lee (BV6LC) The source code of this repository is licensed under the MIT License (see LICENSE), except for the third-party components and data files listed below, which remain under their own licenses. 本 repo 的程式碼以 MIT 授權(見 LICENSE);下列第三方元件與資料檔維持各自的授權。 ------------------------------------------------------------------------------- 1. ft8_lib — wasm/vendor/ft8tw/ft8/, wasm/vendor/ft8tw/common/ ------------------------------------------------------------------------------- Derived from kgoba/ft8_lib (https://github.com/kgoba/ft8_lib), Copyright (c) 2018 Kārlis Goba, MIT License. Modified by FT8CN (BG7YOZ) and FT8TW (BV6LC). 源自 kgoba/ft8_lib(MIT),經 FT8CN、FT8TW 修改。 ------------------------------------------------------------------------------- 2. KISS FFT — wasm/vendor/ft8tw/fft/ ------------------------------------------------------------------------------- Copyright (c) 2003-2010 Mark Borgerding, BSD-3-Clause License. The license text is retained in the file headers. 授權全文保留於檔頭。 ------------------------------------------------------------------------------- 3. JS8 JSC word list — web/data/js8_jsc_words.txt ** GPLv3 ** ------------------------------------------------------------------------------- The 262,144-entry JSC dictionary is extracted verbatim from JS8Call (jsc_map.cpp, (C) Jordan Sherer, KN4CRD, https://github.com/js8call/js8call), which is licensed under the GNU General Public License v3. This file is distributed under GPLv3; the full license text is in web/data/GPL-3.0.txt. It is required, unchanged and in the same order, to interoperate with the JS8 protocol (decoding JSC-compressed text). The rest of this repository is not a derivative of this data file and remains under the MIT License; the file is loaded only at run time when the user selects JS8. JSC 詞表原樣抽自 JS8Call 的 jsc_map.cpp,JS8Call 以 GPLv3 授權,此檔依 GPLv3 散布, 授權全文見 web/data/GPL-3.0.txt。為與 JS8 協定互通(解開 JSC 壓縮文字), 必須使用內容與順序完全相同的詞表。本 repo 其他部分不是此資料檔的衍生作品,維持 MIT; 網頁只在使用者選 JS8 時才於執行期載入此檔。 ------------------------------------------------------------------------------- 4. JS8 protocol implementation — wasm/vendor/ft8tw/js8/, web/js/js8/ ------------------------------------------------------------------------------- Implemented by FT8TW (BV6LC) for interoperability with the JS8 protocol defined by JS8Call. Protocol constants (LDPC (174,87) generator matrix and column order, Costas arrays, CRC-12 parameters, varicode tables) are taken from JS8Call as protocol facts required for interoperability. FT8TW 為與 JS8Call 定義的 JS8 協定互通而實作;LDPC 生成矩陣、Costas 序列、 CRC-12 參數、varicode 表等協定常數取自 JS8Call,屬互通所需的協定事實。 ------------------------------------------------------------------------------- 5. UTX rank table — web/data/utx_rank_table.txt ------------------------------------------------------------------------------- Generated by FT8TW tools/gen_utx_table.py. Character frequency data from Jun Da's Modern Chinese Character Frequency List (via hanziDB.csv, https://github.com/ruddfawcett/hanziDB.csv) and OpenCC STCharacters.txt (https://github.com/BYVoid/OpenCC, Apache License 2.0). 由 FT8TW 工具產生;字頻資料來源見上,簡繁對照取自 OpenCC(Apache-2.0)。 ------------------------------------------------------------------------------- 6. World land outline — web/data/world_110m.bin ------------------------------------------------------------------------------- Made with Natural Earth. Free vector and raster map data @ naturalearthdata.com. Natural Earth 110m land polygons (ne_110m_land), public domain, converted to a compact binary by FT8TW tools/gen_world_outline.py (MIT); copied unchanged from the FT8TW app assets. 地圖海岸線取自 Natural Earth 110m 陸地輪廓(公有領域),由 FT8TW 工具轉成二進位,原樣複製。 ------------------------------------------------------------------------------- 7. FT8TW Android app — reference implementation ------------------------------------------------------------------------------- Portions of the decoder wrappers, waveform synthesis and JS8 text handling are ported from FT8TW (https://github.com/danleetw/ft8tw, by BV6LC), the same author as this repository. 解碼包裝、發射波形合成、JS8 文字處理等部分移植自同一作者的 FT8TW App。 ------------------------------------------------------------------------------- 8. Country data — web/data/cty.dat, web/data/country_en2hk.dat, web/data/dxcc_list.json ------------------------------------------------------------------------------- Copied unchanged from the FT8TW / FT8CN app assets (see web/data/SOURCE.md). 國別資料,原樣取自 FT8TW/FT8CN 的 assets(詳見 web/data/SOURCE.md)。 cty.dat: AD1C Country Files by Jim Reisert, AD1C (https://www.country-files.com/). The file carries no license text; it is offered free of charge for amateur radio logging software. 檔案未附授權文字,網站免費提供給業餘無線電軟體使用。 country_en2hk.dat: English → Traditional Chinese country names, from FT8CN (BG7YOZ). License terms to be confirmed. 授權條款待確認。 dxcc_list.json: source to be determined (來源待查). It contains the notice: "Maidenhead(mh) data copyright 2020 Stephen Loomis and Henry Forte, use is granted for others provided this attribution remains in the data" ------------------------------------------------------------------------------- 9. Country flags — web/data/flags/ ------------------------------------------------------------------------------- SVG flags from flag-icons 7.5.0 (https://github.com/lipis/flag-icons), Copyright (c) 2013 Panayiotis Lipiridis, MIT License (web/data/flags/LICENSE). Only the flags used by web/data/dxcc_list.json are included. 國旗取自 flag-icons(MIT),只放 dxcc_list.json 用到的國旗。 ------------------------------------------------------------------------------- 10. Satellite basemap — web/assets/map/bluemarble-4096.jpg ------------------------------------------------------------------------------- NASA Visible Earth, Blue Marble: Next Generation with Topography and Bathymetry, August 2004 (Reto Stöckli, NASA Earth Observatory), https://visibleearth.nasa.gov/images/73776 . NASA imagery is in the public domain (not copyrighted in the United States). Downscaled to 4096x2048. 衛星影像底圖取自 NASA Visible Earth Blue Marble(公有領域),縮成 4096×2048。 ------------------------------------------------------------------------------- 11. Relief basemap, country borders and names — web/assets/map/relief-4096.jpg, web/assets/map/borders.json, web/assets/map/countries.json ------------------------------------------------------------------------------- Made with Natural Earth. Free vector and raster map data @ naturalearthdata.com. Natural Earth I with Shaded Relief and Water (1:50m), Admin 0 boundary lines (land) and Admin 0 countries (1:110m, v5.1.2), public domain. The raster is downscaled to 4096x2048; the vectors are converted to compact JSON by tools/gen-map-assets.mjs (names and label points unchanged). 地形淡色底圖、國界與國名取自 Natural Earth(公有領域),由 tools/gen-map-assets.mjs 縮圖、轉成 JSON。 ------------------------------------------------------------------------------- 12. three.js 0.186.1 — web/vendor/three/ ------------------------------------------------------------------------------- https://threejs.org/ , Copyright 2010-2026 Three.js Authors, MIT License (web/vendor/three/LICENSE). The official build/three.module.js is bundled and minified into one file with esbuild; the code is unchanged. 3D 地球用 three.js(MIT),官方 module build 以 esbuild 合併壓縮成單檔,程式碼未修改。 ------------------------------------------------------------------------------- 13. CQ / ITU zone boundaries — web/assets/map/cqzones.json, ituzones.json ------------------------------------------------------------------------------- Derived from HB9HIL/hamradio-zones-geojson (https://github.com/HB9HIL/hamradio-zones-geojson, commit 091b813f), cqzones.geojson and ituzones.geojson. Simplified and converted to compact JSON by tools/gen-map-assets.mjs. MIT License Copyright (c) 2024 HB9HIL 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. CQ/ITU Zone 邊界取自 HB9HIL/hamradio-zones-geojson(MIT),簡化後轉成 JSON。 ------------------------------------------------------------------------------- 14. State / province boundaries — web/assets/map/admin1.json ------------------------------------------------------------------------------- Made with Natural Earth. Free vector and raster map data @ naturalearthdata.com. Natural Earth 1:50m Admin 1 – States, Provinces boundary lines (v5.1.2), public domain. Simplified and converted to compact JSON by tools/gen-map-assets.mjs. 州界取自 Natural Earth 1:50m 一級行政區界線(公有領域),簡化後轉成 JSON。 ------------------------------------------------------------------------------- 15. Zoomed-in vector map — web/assets/map/land-50m.json, borders-50m.json, land-10m.json, borders-10m.json, states-10m.json ------------------------------------------------------------------------------- Made with Natural Earth. Free vector and raster map data @ naturalearthdata.com. Natural Earth v5.1.2 (https://github.com/nvkelso/natural-earth-vector, commit f1890d9f), public domain: 1:50m and 1:10m land (ne_50m_land, ne_10m_land), lakes (ne_50m_lakes, ne_10m_lakes), Admin 0 boundary lines (land) (ne_50m_admin_0_boundary_lines_land, ne_10m_admin_0_boundary_lines_land) and 1:10m Admin 1 – States, Provinces boundary lines (ne_10m_admin_1_states_provinces_lines). Simplified, tiled and encoded as compact JSON by tools/gen-map-assets.mjs --detail. 放大後的向量圖(陸地、湖泊、國界、州界)取自 Natural Earth 1:50m/1:10m(公有領域), 由 tools/gen-map-assets.mjs 簡化、切格、編碼成 JSON。 ------------------------------------------------------------------------------- 16. Online satellite imagery (optional map type) — EOxCloudless by EOX ------------------------------------------------------------------------------- EOxCloudless https://cloudless.eox.at by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2025). Licensed for non-commercial use under CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/; terms: https://cloudless.eox.at/documentation/license). Only when the user picks the map type "Satellite (Sentinel-2, online)" does the browser fetch tiles directly from https://tiles.maps.eox.at (EOX::Maps WMTS, s2cloudless-2025_3857). No tiles are included in, downloaded into or re-hosted by FT8TW; tiles are re-projected in the browser for display only. 選「衛星影像(Sentinel-2,線上)」時,瀏覽器直接向 EOX 取圖磚(CC BY-NC-SA 4.0,非商業), FT8TW 不內含、不下載、不轉存圖磚,只在瀏覽器裡重投影顯示;地圖右下角顯示 EOX 規定的標示。 ------------------------------------------------------------------------------- 17. JTTY protocol implementation — wasm/src/jtty/, web/js/jtty/, web/decoder/jttydecoder.mjs ------------------------------------------------------------------------------- Implemented by FT8TW (BV6LC) for interoperability with the JTTY mode of WSJT-X 3.2 (K1JT et al.). Clean-room implementation: written only from the published WSJT-X User Guide, third-party prose descriptions of the protocol, and black-box analysis of data produced by the WSJT-X program (tone sequences, packed payloads and audio recordings). No source code of WSJT-X or of any other JTTY implementation was consulted. Protocol constants (sync sequence, CRC-12 polynomial, convolutional code generators, character table and message layout) are protocol facts required for interoperability. This implementation is licensed under the MIT License like the rest of this repository. Callsign packing reuses ft8_lib (section 1). FT8TW 為與 WSJT-X 3.2 的 JTTY 模式互通而以 clean room 方式實作:只依據 WSJT-X 使用手冊、 第三方的文字描述,以及對 WSJT-X 程式輸出資料(tone 序列、酬載、錄音)的黑箱分析, 未參考 WSJT-X 或任何 JTTY 實作的原始碼;同步序列、CRC、卷積碼、字元表等協定常數屬互通所需的協定事實。 本實作與 repo 其他部分同為 MIT 授權;呼號編碼沿用 ft8_lib(第 1 節)。