Third-Party Notices — OasisGUI, oasis-runner, OasisNet and oasisgui.com
Draft prepared for review by counsel, dated 2026-10-06. This document is a first draft produced for attorney review and is not legal advice. It has not been adopted by Varrock Inc. The inventory was taken from the repository on that date (desktop app 2.0.0; bundled oasis-runner 0.47.0, oasisnet 0.1.0, oasis-vmhelper 0.9.0; helper manifest built 2026-09-30 from source commit 560a2901). Points that need a business decision are marked [DECISION: …]; points that need a lawyer's judgment are marked [COUNSEL: …]. All markers are collected in Section 13.
Related documents: End User License Agreement · Website Terms of Use · Privacy Policy · Acceptable Use Policy · Vulnerability Disclosure Policy · Index
1. Purpose, scope and method#
1.1 The software distributed by Varrock Inc. ("Varrock") contains and is delivered with software, firmware, fonts and data owned by others (the "Third-Party Components"). This notice identifies them, states each one's license, reproduces the notices those licenses require, and explains how Varrock meets the obligations attached to copyleft and proprietary components. Each Third-Party Component is licensed to you under its own terms, which prevail over the EULA for that component (EULA §6). This notice is informational. It grants no rights beyond those each component's own licence grants, and it is not a warranty that the inventory is complete. [COUNSEL: whether EULA §20.1 should incorporate this notice into the agreement or only refer to it; if incorporated, every marker must be resolved before publication and the published version frozen per release.]
1.2 Covered: every file in the OasisGUI installers for macOS (DMG), Linux (AppImage, .deb) and Windows (NSIS .exe), including the Helper Binaries listed under bundle.resources in src-tauri/tauri.conf.json, and the JavaScript served by oasisgui.com. Also covered: the Nix flake (flake.nix, nix/package.nix, nix/oasisnet-package.nix), which builds the Desktop App and Mesh Daemon from the repository source and copies every staged helper in src-tauri/binaries/ (including firecracker-*, which is not in bundle.resources; see Section 5). [DECISION: is the flake, and therefore the repository, publicly reachable? If so the source tree is already a distribution channel and must carry this notice and Appendix A, and the LGPL analysis in 9.1 and 9.3 changes because the vendored wireguard-control and src/spice/ are then distributed in source form.] Not covered: the Oasis Mobile app [DECISION: produce a mobile notice; OasisMobile/meshcore is MIT AND BSD-3-Clause and links the vendored boringtun]; build-only tools (Vite, esbuild, TypeScript, ESLint, lightningcss); software your own machine obtains at your instruction (Section 10).
1.3 Method. cargo metadata over the Rust workspaces src-tauri (869 packages), oasisnet (276) and runner (489), all targets and features; every third-party crate carries an SPDX expression and none comes from git. The union is 1,199 name@version rows (11 first-party) in scratchpad/research/meta/rust-inventory.tsv (the "Inventory"). Front end: package.json against node_modules (313 packages). Helper Binaries: src-tauri/binaries/manifest.json, scripts/fetch-*.sh and each pinned release's license files. Vendored trees: vendor/README.md.
1.4 Gaps. No notice file exists in the repository or any installer, and nothing regenerates one. [DECISION: adopt cargo about plus a Bun script to regenerate Appendix A per release, and decide where it surfaces — About dialog, this file, website /docs/, each installer.] [DECISION: enumerate the shared libraries inside a built Linux AppImage (linuxdeploy typically bundles GTK and WebKitGTK, LGPL-2.1-or-later) and add their notices; confirm whether libssl is bundled — openssl-sys is in the app graph without openssl-src, so it links the system OpenSSL unless the packager copies it in.]
2. Definitions#
- "Desktop App" (A): the
oasis-guiexecutable and its React front end, bundled by Vite. - "Runner" (R):
oasis-runner, the daemon the Desktop App installs on each managed host. - "Mesh Daemon" (N):
oasisnet, the WireGuard mesh daemon, shipped as a separate executable. - "Helper Binaries" (H): the third-party executables and firmware in
manifest.json, shipped as application resources (Section 5). - "Website" (W): oasisgui.com. The site published at the inventory date embeds no third-party JavaScript; it links the JetBrains Mono and Outfit web fonts from Google Fonts, which Google serves under the SIL OFL-1.1 and which Varrock does not distribute. The documentation build in the working tree (not yet published) bundles marked and mermaid and drops the Google Fonts link. [DECISION: confirm which site build is live when this notice is published.]
- "Statically linked": compiled into one or more of the shipped executables for its target. The Inventory is the union over all targets and features and therefore also lists build-time, test-only and other-platform crates (for example the Windows-only
clipboard-win); Appendix A attributes them anyway. [DECISION: regenerate per shipped binary withcargo tree -e normal --target <triple>so Appendix A can say which executable contains which crate.] "Aggregated": shipped as a separate file and run as a separate process.
3. Component table, grouped by license#
Counts are distinct name@version pairs in the Inventory unless stated otherwise.
3.1 Permissive licenses (reproduce license text and copyright notice)#
| License (SPDX) | Count | Representative components (where) | Note |
|---|---|---|---|
MIT OR Apache-2.0 and equivalent dual forms |
724 crates; @tauri-apps/api + 6 plugins |
tauri 2.10.3, wry 0.54.4 (A); tokio, serde; rustic_core 0.12.0, rustic_backend 0.6.2 (vendored; R) | Varrock elects MIT for every crate whose expression is MIT OR Apache-2.0 (or the slash form). Other disjunctions are elected individually where they appear (3.3, 3.4, 6.1); compound expressions containing AND (for example aws-lc-sys's ISC AND (Apache-2.0 OR ISC) AND Apache-2.0 AND MIT AND BSD-3-Clause AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR ISC OR MIT-0)) are satisfied for every conjunct, electing MIT (or ISC where MIT is not offered) within each OR group. [COUNSEL: confirm a blanket election is acceptable and that Appendix A must state each election.] |
MIT |
249 crates; 251 npm | innernet 1.7.1 and its shared, server, hostsfile, netlink-request, publicip crates (© 2021 tonari; N); webkit2gtk-rs (A); react, jotai, @xterm/xterm 6.0.0, monaco-editor 0.55.1, react-markdown, @xyflow/react (A); marked 18.1.0, mermaid 12.1.0 (W — bundled by the documentation build that is in the working tree but not yet published; confirm at publication) |
|
Apache-2.0 |
32 crates; 14 npm; 5 Helper Binaries | tao 0.34.8, russh 0.61.2 (A); rocksdb 0.24.0, opendal 0.57.0 (R); Firecracker, Cloud Hypervisor, skopeo, umoci, scrcpy-server (H) | Reproduce the text and every upstream NOTICE (Firecracker's in 6.2). |
BSD-3-Clause |
10 crates | boringtun 0.7.1 (© 2019 Cloudflare, Inc.; vendored; N), curve25519-dalek, ed25519-dalek, x25519-dalek, subtle (A/N/R); Cloud Hypervisor portions (H); Chromium OS portions of Firecracker (© 2017 The Chromium OS Authors; THIRD-PARTY; H); sha1.js (in spice-html5) |
No endorsement with holders' names. |
BSD-2-Clause |
3 crates | arrayref (A/R); ip_network, ip_network_table (N) | |
BSD-2-Clause-Patent |
2 files | CLOUDHV.fd, CLOUDHV_EFI.fd (edk2 ch-f308d878a6, © 2019 TianoCore and contributors; H) |
[COUNSEL: the firmware embeds OpenSSL and other edk2 third-party packages — whether a per-package notice is needed for a firmware image.] |
ISC and OpenSSL-derived combinations |
7 ISC crates; ring; aws-lc | ring 0.17.14 (Apache-2.0 AND ISC; A/N/R); aws-lc-sys 0.41.0 / 0.43.0, aws-lc-rs 1.17.x (A/R; default rustls crypto provider); rustls-webpki, untrusted, libloading, inotify |
Ship ring's and aws-lc's LICENSE verbatim; both carry OpenSSL/SSLeay attribution clauses (6.3). |
Apache-2.0 OR ISC OR MIT |
5 | rustls 0.23.x and its helper crates (A/R) | Elect MIT. |
Unicode-3.0 |
36 | the ICU4X family (icu_*, litemap, tinystr, yoke, zerovec and related; A/N/R) | |
CDLA-Permissive-2.0 |
4 | webpki-roots 0.26.11 / 1.0.8, webpki-root-certs 1.0.8 / 1.0.9 — the Mozilla CA bundle (A/R) | |
Other permissive: Zlib forms (32), BSL-1.0 forms (5), Unlicense OR MIT (16), CC0-1.0/0BSD/MIT-0 forms (6), Apache-2.0 WITH LLVM-exception forms (19) |
78 | zlib-rs, foldhash; clipboard-win, error-code (A, Windows); memchr, byteorder, walkdir, jiff; blake3, tiny-keccak; wasi crates | Elect MIT where offered; otherwise reproduce. |
| Public domain | — | SQLite (bundled by libsqlite3-sys; N/R) |
No notice. |
3.2 Weak copyleft, file-scoped — MPL-2.0#
| Component | Version | Where | Modified | Source |
|---|---|---|---|---|
| cssparser, cssparser-macros | 0.29.6 / 0.36.0; 0.6.1 | A | No | github.com/servo/rust-cssparser |
| selectors | 0.24.0 / 0.36.1 | A | No | github.com/servo/servo, github.com/servo/stylo |
| dtoa-short | 0.3.5 | A | No | github.com/upsuper/dtoa-short |
| option-ext | 0.2.0 | A, R | No | github.com/soc/option-ext |
| colored | 2.2.0 | N | No | github.com/mackwic/colored |
| @novnc/novnc | 1.7.0 | A (VNC client) | No | github.com/novnc/noVNC |
pariter 0.6.0 (R) offers MPL-2.0 as one of three options (MPL-2.0 OR MIT OR Apache-2.0); Varrock elects MIT, so it is not an MPL component.
MPL-2.0 attaches to the covered files only; static linking does not extend it (MPL §1.10, §3.3). Obligations: keep the MPL notices, include the MPL-2.0 text and make the covered files' source available (§3.2). Nothing is modified, so the upstream repositories above are the source. [DECISION: confirm upstream URLs as the §3.2(b) route and keep them current per release.]
3.3 LGPL#
| Component | License | Where and linking | Modified |
|---|---|---|---|
| wireguard-control 1.7.1 (part of innernet; © tonari) | LGPL-2.1-or-later |
N only — statically linked into oasisnet-{x86_64,aarch64}-unknown-linux-musl, oasisnet-aarch64-apple-darwin, oasisnet-x86_64-pc-windows-gnu.exe; verified absent from the A and R graphs |
Yes: backends/kernel.rs (zero-timespec filter), backends/userspace.rs (own_public_key=), new backends/wgnt.rs (Windows). Ledger: vendor/README.md |
| spice-html5 (© 2012 Jeremy P. White / CodeWeavers) | LGPL-3.0-or-later |
A — src/spice/, imported by src/SpiceView.tsx, bundled and minified into the front end |
Yes: two lines (main.js:98, spiceconn.js:101, strip ?token= from logs). Includes thirdparty/ jsbn/rsa (© 2003-2005 Tom Wu, MIT-style), sha1.js (BSD), browser-es-module-loader (MIT). [DECISION: record the upstream commit; none is recorded] |
libcrun (inside the crun Helper Binary) |
LGPL-2.1-or-later |
H; statically linked by upstream | No |
| r-efi 5.3.0 / 6.0.0 | MIT OR Apache-2.0 OR LGPL-2.1-or-later |
A/N/R | Varrock elects MIT |
3.4 GPL#
| Component | License | Where and linking |
|---|---|---|
| crun 1.15 executable (containers/crun) | GPL-2.0-or-later |
H — crun-{x86_64,aarch64}-unknown-linux-musl, in bundle.resources, so shipped in every installer. Aggregated only: an unmodified upstream static executable run as a child process; never linked into any Varrock executable |
| self_cell 1.2.2 | Apache-2.0 OR GPL-2.0-only |
A; Varrock elects Apache-2.0 |
RocksDB 10.4.2 (C++ compiled into librocksdb-sys 0.17.3) |
upstream GPL-2.0 OR Apache-2.0 |
R; Varrock elects Apache-2.0. Bundled snappy (BSD-3), lz4 (BSD-2), zstd (BSD-3), bzip2, zlib need their own notices. [COUNSEL: confirm election wording.] |
No GPL code is statically linked into any Varrock executable. The one GPL component shipped is the aggregated crun; see Section 9.2. No AGPL, SSPL, EUPL or CC-BY-SA component is shipped.
3.5 Proprietary components#
| Component | Owner | Terms |
|---|---|---|
wireguard.dll (WireGuardNT 0.10.1, amd64), staged as wireguard-nt-amd64.dll, installed as wireguard.dll beside oasisnet.exe in C:\Program Files\OasisNet |
WireGuard LLC | Prebuilt Binaries License — Section 7 |
Microsoft Edge WebView2 Evergreen Bootstrapper, embedded in the Windows installer (webviewInstallMode: embedBootstrapper) |
Microsoft Corporation | Microsoft's terms — Section 8 |
3.6 Fonts and data#
JetBrains Mono (four .woff2, src/assets/fonts/): SIL Open Font License 1.1, Reserved Font Name "JetBrains Mono". Symbols Nerd Font Mono (.ttf): MIT patcher plus each glyph source's license. No license file ships with either. [DECISION: add the OFL-1.1 text with the Reserved Font Name notice and the Nerd Fonts license bundle.] The CNN upscaler weights (src/cnnWeights.ts) are first-party, trained in-house (scripts/train_upscaler.py) on a synthetic dataset that scripts/gen_dataset.py renders from system fonts and procedural content; no external dataset is downloaded. [COUNSEL: whether rendering OS-bundled fonts into training images raises any font-licence question.]
4. Vendored components and local modifications#
| Tree | Upstream | Pin | License | Modified |
|---|---|---|---|---|
vendor/boringtun/ |
github.com/cloudflare/boringtun | 6dcc889a95ad82400932f785d874421d70308195 |
BSD-3-Clause (© 2019 Cloudflare, Inc.) | Yes: in-place update_peer, UAPI api_get/api_set fixes, keepalive timer |
vendor/innernet/ |
github.com/tonarino/innernet | 368ca553197e63c70e5cb6cb85a04c6c69cb11bb (v1.7.1) |
MIT, except wireguard-control (LGPL-2.1-or-later) |
Yes: lib-ified client, exit-node flag, rekey endpoint, schema v3/v4, multi-coordinator sync, plus the wireguard-control changes in 3.3 |
vendor/rustic/ |
github.com/rustic-rs/rustic_core | not recorded | Apache-2.0 OR MIT |
[DECISION: record pin and diffs in vendor/README.md, which omits this tree] |
src/spice/ |
spice-html5 | not recorded | LGPL-3.0-or-later | Yes (3.3) |
BSD and MIT permit these modifications without publication. The modified LGPL files must be marked as modified and made available under their LGPL (Section 9). The ledger of every change is vendor/README.md.
5. Bundled Helper Binaries#
Each is pinned by SHA-256 in manifest.json; all but skopeo are upstream release binaries, skopeo is built by Varrock from unmodified upstream source. Firecracker is staged and hash-pinned but is not in bundle.resources (scripts/fetch-firecracker.sh says it is pushed to a host by vm_remote::install_helper), so the installers may not contain it while the Nix package copies it; [DECISION: state which channel delivers firecracker-* to hosts (installer resource, Nix package, or runner push from the developer stage) and add it to §1.2 accordingly].
| File | Version | Upstream | License | Notes |
|---|---|---|---|---|
firecracker-* |
1.16.1 | firecracker-microvm | Apache-2.0 + BSD-3-Clause (Chromium OS portions, © 2017 The Chromium OS Authors; THIRD-PARTY) |
Ship LICENSE, NOTICE, THIRD-PARTY. Delivery channel: see the lead sentence of this section. |
cloud-hypervisor-* |
53.0 | cloud-hypervisor | Apache-2.0 and BSD-3-Clause | Ship both texts. |
CLOUDHV.fd, CLOUDHV_EFI.fd |
ch-f308d878a6 |
cloud-hypervisor / edk2 | BSD-2-Clause-Patent | 3.1 |
crun-* |
1.15 | containers/crun releases | GPL-2.0-or-later / LGPL-2.1-or-later | 9.2. fetch-crun.sh calls it an optional fallback, yet it is in bundle.resources. |
skopeo-* |
v1.15.0 (99e3c448) |
containers/skopeo | Apache-2.0 | Built from source by Varrock (CGO_ENABLED=0, vendored Go modules), so the static binary contains every Go dependency. [DECISION: generate the Go-module notice list (go-licenses report) from the pinned commit.] |
umoci-* |
v0.6.0 | opencontainers/umoci | Apache-2.0 | Ship COPYING. |
scrcpy-server.jar |
2.4 | Genymobile/scrcpy | Apache-2.0 | Pushed into the Android container; never run on the host. |
wireguard-nt-amd64.dll |
0.10.1 | WireGuard LLC | Prebuilt Binaries License | Section 7 |
oasis-runner-*, oasisnet-*, oasis-vmhelper-* |
0.47.0 / 0.1.0 / 0.9.0 | Varrock | EULA; contents per Sections 3 and 9 | oasisnet/Cargo.toml declares MIT AND BSD-3-Clause AND LGPL-2.1-or-later. |
6. Attribution text obligations#
6.1 Every binary distribution must carry: the license text and copyright for each 3.1 component; each Apache-2.0 NOTICE; the full MPL-2.0, LGPL-2.1, LGPL-3.0 (with GPL-3.0, which it incorporates) and GPL-2.0 texts; the OFL text and Reserved Font Name; WireGuardNT's LICENSE.txt; and the dual-license elections in 3.1, 3.3 and 3.4 plus dompurify 3.2.7 (MPL-2.0 OR Apache-2.0, elected Apache-2.0) and pariter 0.6.0 (MPL-2.0 OR MIT OR Apache-2.0, R, elected MIT). These form Appendix A, which does not yet exist. [DECISION: generate Appendix A mechanically and ship it as THIRD-PARTY-NOTICES.txt in each installer and in the About dialog.]
6.2 Firecracker NOTICE (Apache-2.0 §4(d)):
Firecracker Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0
Portions Copyright 2017 The Chromium OS Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the THIRD-PARTY file.
The Firecracker release bundle includes libseccomp which is available under the LGPLv2.1 license. This is used in the Firecracker build process to produce cBPF bytecode that is shipped alongside Firecracker for use by the Linux kernel.
6.3 OpenSSL-derived attribution. ring and aws-lc contain code derived from OpenSSL and SSLeay whose licences require (i) that every redistribution retain the acknowledgments "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)" and "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" — Appendix A carries both — and (ii) that advertising materials mentioning features or use of that software display them. [COUNSEL: whether (ii) reaches Varrock's marketing of OasisGUI/OasisNet, and confirm against the shipped LICENSE files of ring 0.17.14 and aws-lc-sys 0.41.0/0.43.0 which OpenSSL/SSLeay portions survive in those builds; this draft has not checked them.]
6.4 Endorsement clauses. BSD-3-Clause holders (Cloudflare, Google, TianoCore and others) and WireGuard LLC forbid using their names to endorse or promote Varrock's products; marketing may name what the software uses only nominatively. [COUNSEL: review site copy such as "WireGuard underneath" (website/index.html:555) and "WireGuard's own signed driver" (website/index.html:622, 677, 1025) against §3(e) in Section 7 and any WireGuard trademark policy.]
7. WireGuardNT prebuilt driver — license statement, exactly as upstream#
7.1 The file wireguard.dll is byte-identical to bin/amd64/wireguard.dll in wireguard-nt-0.10.1.zip from download.wireguard.com. The Mesh Daemon's Windows backend (wgnt.rs) loads it only from its own directory and uses only the exports declared in wireguard.h (the "Permitted API"). Upstream's README states that the repository source is GPLv2 while the prebuilt binaries are under the following license, reproduced as transcribed (see the note following the text):
Prebuilt Binaries License
DEFINITIONS. "Software" means the precise contents of the "wireguard.dll" files that are included in the .zip file that contains this document as downloaded from download.wireguard.com.
LICENSE GRANT. WireGuard LLC grants to you a non-exclusive and non-transferable right to use Software for lawful purposes under certain obligations and limited rights as set forth in this agreement.
RESTRICTIONS. Software is owned and copyrighted by WireGuard LLC. It is licensed, not sold. Title to Software and all associated intellectual property rights are retained by WireGuard. You must not: a. reverse engineer, decompile, disassemble, extract from, or otherwise modify the Software; b. modify or create derivative work based upon Software in whole or in parts, except insofar as only the API interfaces of the "wireguard.h" file distributed alongside the Software (the "Permitted API") are used; c. remove any proprietary notices, labels, or copyrights from the Software; d. resell, redistribute, lease, rent, transfer, sublicense, or otherwise transfer rights of the Software without the prior written consent of WireGuard LLC, except insofar as the Software is distributed alongside other software that uses the Software only via the Permitted API; e. use the name of WireGuard LLC, the WireGuard project, the WireGuard project, or the names of its contributors to endorse or promote products derived from the Software without specific prior written consent.
LIMITED WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND. WIREGUARD LLC HEREBY EXCLUDES AND DISCLAIMS ALL IMPLIED OR STATUTORY WARRANTIES, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUALITY, NON-INFRINGEMENT, TITLE, RESULTS, EFFORTS, OR QUIET ENJOYMENT. THERE IS NO WARRANTY THAT THE PRODUCT WILL BE ERROR-FREE OR WILL FUNCTION WITHOUT INTERRUPTION. YOU ASSUME THE ENTIRE RISK FOR THE RESULTS OBTAINED USING THE PRODUCT. TO THE EXTENT THAT WIREGUARD LLC MAY NOT DISCLAIM ANY WARRANTY AS A MATTER OF APPLICABLE LAW, THE SCOPE AND DURATION OF SUCH WARRANTY WILL BE THE MINIMUM PERMITTED UNDER SUCH LAW. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
LIMITATION OF LIABILITY. To the extent not prohibited by law, in no event WireGuard LLC or any third-party-developer will be liable for any lost revenue, profit or data or for special, indirect, consequential, incidental or punitive damages, however caused regardless of the theory of liability, arising out of or related to the use of or inability to use Software, even if WireGuard LLC has been advised of the possibility of such damages. Solely you are responsible for determining the appropriateness of using Software and accept full responsibility for all risks associated with its exercise of rights under this agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. You acknowledge, that it is in the nature of software that software is complex and not completely free of errors. In no event shall WireGuard LLC or any third-party-developer be liable to you under any theory for any damages suffered by you or any user of Software or for any special, incidental, indirect, consequential or similar damages (including without limitation damages for loss of business profits, business interruption, loss of business information or any other pecuniary loss) arising out of the use or inability to use Software, even if WireGuard LLC has been advised of the possibility of such damages and regardless of the legal or quitable theory (contract, tort, or otherwise) upon which the claim is based.
TERMINATION. This agreement is affected until terminated. You may terminate this agreement at any time. This agreement will terminate immediately without notice from WireGuard LLC if you fail to comply with the terms and conditions of this agreement. Upon termination, you must delete Software and all copies of Software and cease all forms of distribution of Software.
SEVERABILITY. If any provision of this agreement is held to be unenforceable, this agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this agreement will immediately terminate.
RESERVATION OF RIGHTS. All rights not expressly granted in this agreement are reserved by WireGuard LLC. For example, WireGuard LLC reserves the right at any time to cease development of Software, to alter distribution details, features, specifications, capabilities, functions, licensing terms, release dates, APIs, ABIs, general availability, or other characteristics of the Software.
The text above cannot be diffed against the upstream file from the repository: scripts/fetch-wireguard-nt.sh extracts only wireguard-nt/bin/amd64/wireguard.dll from the zip and discards its LICENSE.txt and README.md. [DECISION: extend scripts/fetch-wireguard-nt.sh to also extract and stage the zip's LICENSE.txt and README.md, pin their SHA-256 in manifest.json, and diff this section against them at each regeneration; until then the three apparent typographical anomalies in the text above ("the WireGuard project, the WireGuard project" in §3(e), "legal or quitable theory" in §5, "This agreement is affected until terminated" in §6) are reproduced as found and have not been checked against the upstream file.]
7.2 Varrock relies on the §3(d) exception: the DLL is distributed only alongside oasisnet.exe, which uses it solely through the Permitted API. [COUNSEL: (i) §1 defines "Software" as the contents of the wireguard.dll files — contents unchanged, staged file name different; (ii) §3(e) and any WireGuard trademark policy; (iii) whether LICENSE.txt must be installed beside the DLL, which the installer does not do today.] [DECISION: install the upstream LICENSE.txt beside wireguard.dll.]
8. Microsoft Edge WebView2#
On Windows the Desktop App renders in the Microsoft Edge WebView2 Runtime, Microsoft software installed on your PC under Microsoft's license. The Windows installer embeds Microsoft's Evergreen Bootstrapper and runs it silently to install the Runtime if absent. Neither is licensed by Varrock. [COUNSEL: identify the exact Microsoft terms governing redistribution of the Bootstrapper and the Runtime's end-user license, and reproduce or link them verbatim; this draft deliberately does not paraphrase them.]
9. Copyleft components and how obligations are met#
9.1 LGPL-2.1-or-later — wireguard-control, statically linked into the Mesh Daemon. LGPL §6 applies to that executable only; the Desktop App and Runner do not contain the library. §6 requires prominent notice that the LGPL library is used, a copy of the LGPL, and a way to modify and relink: the library's complete source plus the source or object code of the proprietary parts sufficient to relink (§6(a)), or a shared-library mechanism (§6(b)). §6 also allows a written offer valid for at least three years (§6(c)) or a designated-place offer (§6(d)), and in every case requires that the Mesh Daemon's own licence terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications, and that the library's copyright notice and a pointer to the LGPL appear wherever the daemon prints its own. [COUNSEL: EULA §4.1(a) must carry an express carve-out for LGPL-covered debugging and relinking; §6.2(a) grants modify-and-relink only.] Current state: vendor/README.md says §6 is met "by making its full source (this vendor tree + oasisnet/) available to binary recipients", but no source is published through a channel that binary recipients are told about [DECISION: see §1.2 on the Nix flake], no written offer exists, the LGPL-2.1 text is in neither the vendor tree nor any installer, and the modified files are not marked (§2(b)). [COUNSEL: choose the §6 route — (a) publish vendor/innernet/wireguard-control, vendor/boringtun and oasisnet/ source (exposing the Mesh Daemon's own source), (b) relink as a shared object, or (c) replace the crate — and settle written-offer wording and its three-year term if route (a) is met by offer.] [DECISION: add COPYING.LESSER to vendor/innernet/wireguard-control/ and Appendix A; mark modified files.] Until then the EULA's statement that corresponding source can be obtained "as described in the Third-Party Notices" cannot be honoured, and this notice must not claim otherwise.
9.2 GPL-2.0-or-later — the crun executable. crun is an unmodified upstream executable that the Runner only runs as a child process; nothing of Varrock's is linked with it. Distributing it in binary form still triggers GPLv2 §3: the complete corresponding source accompanies the binary (§3(a)) or a written offer, valid for at least three years and open to any third party, accompanies it (§3(b)); §3(c) is unavailable to a commercial distributor. [COUNSEL: whether a pointer to upstream's repository can satisfy §3(a) for a distributor of binaries; and whether the Runner's hash-gated copy of crun onto managed hosts (scripts/fetch-crun.sh: "shipped to the host by the normal runner-deploy path") is a further distribution needing its own notice.] COPYING and COPYING.libcrun must ship. Current state: none of this is in place, and the static contents of upstream's release binary (libseccomp, yajl, libcap and others) are not inventoried. [COUNSEL: choose §3(a) (mirror crun 1.15 source and its static dependencies), §3(b) (written offer), or remove crun from bundle.resources so it is fetched only on hosts that need it.]
9.3 LGPL-3.0-or-later — spice-html5, minified into the front end. LGPL-3.0 §4 (Combined Works) applies. It requires, in addition to prominent notice and the LGPL-3.0 and GPL-3.0 texts: (d)(0) the Minimal Corresponding Source of the library as modified, and the Corresponding Application Code of the Desktop App's front end in a form and under terms that let the user recombine it with a modified library (§4(d)(0)), or a suitable shared-library mechanism (§4(d)(1)); (c) the library's copyright notice among any the app displays; and licence terms for the Desktop App that do not restrict modification of the library portions or reverse engineering to debug such modifications. The EULA must carry that permission — today §4.1(a) bars reverse engineering except as law permits and §6.2(b) grants nothing beyond a marker [COUNSEL: add to EULA §4.2/§6.2(b)]. For a minified bundle, (d)(0) therefore means shipping the un-minified src/spice/ with the Varrock patch and the front-end bundle in relinkable form with build instructions; (d)(1) means loading the library as a separate, replaceable script. [COUNSEL: choose the route — separate-chunk loading plus source, source publication of library and application code, or replacement with a non-LGPL SPICE client.] [DECISION: ship the two-line Varrock patch and src/spice/ as source, together with whatever application code the chosen route requires.]
9.4 MPL-2.0 is met by the notices and source pointers in 3.2. Dual-license elections (3.1, 3.3, 3.4, 6.1) must be stated in Appendix A.
10. Software that Varrock does not distribute#
On your instruction the software causes your own machines to obtain, directly from the publishers, software Varrock does not redistribute: Chromium (via your host's package manager); the Ubuntu cloud image, and the Ubuntu base and Alpine minirootfs tarballs used to build microVM root filesystems; a prebuilt Linux guest kernel for Firecracker microVMs, fetched from Firecracker's published CI artifacts; the redroid/redroid container image; Appium's prebuilt WebDriverAgent simulator bundle (iOS Simulator sessions on macOS); the Claude Code, Codex and Kimi command-line agents; tmux; podman or docker; and any model API you configure with your own credentials. Each is governed by its own terms. [DECISION: whether to document the guest kernel's GPL-2.0 status and source location in user docs, since Varrock pins it by checksum but does not distribute it.]
11. Trademarks#
WireGuard is a registered trademark of Jason A. Donenfeld. Microsoft, Edge and WebView2 are trademarks of Microsoft Corporation. Other names belong to their owners; no affiliation or endorsement is implied. [COUNSEL: confirm the trademark attributions that the component owners' policies require, for example for Firecracker and Cloud Hypervisor.]
12. Updates and contact#
12.1 This notice is accurate for the versions in the preamble and is to be regenerated with each release. Earlier releases carried no notice. [DECISION: whether to publish notices retroactively for earlier releases still offered for download.]
12.2 Source requests under Section 9 and questions about this notice go to [DECISION: contact mailbox — only sales@oasisgui.com exists today; do not invent a legal@ or oss@ address] and, for any written offer that must name a postal channel, to [DECISION: postal address for correspondence — the registered agent (LegalInc Corporate Services Inc., 131 Continental Drive, Suite 305, Newark, DE 19713, USA) is a service-of-process address only].
12.3 This notice is a licence and attribution record. It is not the software bill of materials required by Regulation (EU) 2024/2847 Annex I Part II(1); that SBOM is addressed in the EU Product-Compliance Memo §4.4 and is to be generated from the same Inventory data. [DECISION: have the Appendix A generator emit the SBOM (CycloneDX or SPDX) from the same run.]
Appendix A — License texts. [DECISION: to be generated mechanically per 1.4; the texts listed in 6.1 are required and not yet collected.]
13. Open decisions#
- §1.1 [COUNSEL: whether EULA §20.1 incorporates this notice into the agreement or only refers to it; if incorporated, resolve every marker and freeze the published version per release.]
- §1.2 [DECISION: separate notice for Oasis Mobile.]
- §1.2, §9.1 [DECISION: is the Nix flake, and therefore the repository, publicly reachable? If so the source tree is a distribution channel that must carry this notice and Appendix A, and the LGPL route analysis changes.]
- §1.4, §6.1 [DECISION:
cargo about+ Bun script to generate Appendix A per release; where notices surface; ship asTHIRD-PARTY-NOTICES.txt.] - §1.4 [DECISION: enumerate AppImage
.sofiles; confirm whetherlibsslis bundled.] - §2 [DECISION: confirm which website build (Google Fonts link, or the unpublished docs build bundling marked and mermaid) is live when this notice is published.]
- §2 [DECISION: regenerate the Inventory per shipped binary (
cargo tree -e normal --target <triple>) so Appendix A can say which executable contains which crate.] - §3.1 [COUNSEL: blanket MIT election for
MIT OR Apache-2.0crates, per-group elections inside compoundANDexpressions, and that Appendix A must state each election.] - §3.1 [COUNSEL: per-package notices for the edk2 firmware image.]
- §3.2 [DECISION: upstream URLs as the MPL §3.2(b) source route.]
- §3.3, §9.3 [DECISION: record the spice-html5 upstream commit; ship the patch and
src/spice/as source, together with whatever application code the chosen §4 route requires.] - §3.4 [COUNSEL: RocksDB Apache-2.0 election wording.]
- §3.6 [DECISION: add OFL-1.1 with Reserved Font Name and the Nerd Fonts licenses.] [COUNSEL: whether rendering OS-bundled fonts into the CNN upscaler's synthetic training images raises any font-licence question.]
- §4 [DECISION: record
vendor/rusticpin and diffs.] - §5 [DECISION: state which channel delivers
firecracker-*to hosts — installer resource, Nix package, or runner push — and add it to §1.2.] - §5 [DECISION: Go-module notice list for the self-built skopeo.]
- §6.3 [COUNSEL: whether the OpenSSL/SSLeay advertising clause reaches Varrock's marketing; confirm against the shipped
LICENSEfiles of ring 0.17.14 and aws-lc-sys 0.41.0/0.43.0.] - §6.4 [COUNSEL: site copy ("WireGuard underneath", "WireGuard's own signed driver") versus WireGuard §3(e) and trademark policy.]
- §7.1 [DECISION: stage the WireGuardNT zip's
LICENSE.txtandREADME.md, pin them inmanifest.json, and diff Section 7 against them; the three apparent typographical anomalies are unchecked until then.] - §7.2 [COUNSEL: WireGuardNT renamed file versus "precise contents"; §3(e); whether
LICENSE.txtmust be installed beside the DLL.] [DECISION: installLICENSE.txtbesidewireguard.dll.] - §8 [COUNSEL: reproduce verbatim the Microsoft WebView2 Bootstrapper and Runtime terms.]
- §9.1 [COUNSEL: LGPL-2.1 §6 route for
wireguard-control— publish source, relink dynamically, or replace; written-offer wording; EULA §4.1(a) carve-out for LGPL-covered debugging and relinking.] [DECISION: addCOPYING.LESSER; mark modified files.] - §9.2 [COUNSEL: GPLv2 §3 route for
crun— source, written offer, or drop frombundle.resources; whether a pointer to upstream can satisfy §3(a); whether the Runner's copy ofcrunonto managed hosts is a further distribution.] - §9.3 [COUNSEL: LGPL-3.0 §4 route for minified
spice-html5— separate chunk, source publication of library and application code, or replacement; add the §4 modification and reverse-engineering permission to EULA §4.2/§6.2(b).] - §10 [DECISION: whether to document the Firecracker guest kernel's GPL-2.0 status and source location in user docs.]
- §11 [COUNSEL: trademark attributions required by component owners' policies.]
- §12 [DECISION: retroactive notices for earlier releases.] [DECISION: contact mailbox for source requests — only sales@oasisgui.com exists.] [DECISION: postal address for correspondence in any written offer — the registered agent's address is for service of process only.]
- §12.3 [DECISION: have the Appendix A generator emit the CRA SBOM (CycloneDX or SPDX) from the same run.]
Source: docs/legal/third-party-notices.md in the repository · draft for attorney review · 45 [DECISION] markers and 30 [COUNSEL] markers on this page.