FRST Computer — Third-Party Attribution and Notices
====================================================

This product includes code, data, and ideas from several third-party
projects.  Each component retains its original license; the terms
below are the relevant ones for this release.  Where multiple licenses
apply to the combined binary, the most restrictive one governs
distribution of the assembled artifact — see "Combined-binary note"
at the bottom of this file.

If you notice an attribution missing from this list, please open an
issue and it will be added in the next release.


Zephyr RTOS and HAL components
------------------------------

The FRST firmware is a Zephyr application and links against the
Zephyr kernel, drivers, subsystems, and the Espressif HAL.

    Project: Zephyr RTOS
    Origin:  https://zephyrproject.org/
    License: Apache-2.0 (kernel, subsystems, drivers)
             BSD-3-Clause (some legacy pieces)

    Project: hal_espressif (ESP-IDF components)
    Origin:  https://github.com/zephyrproject-rtos/hal_espressif
    License: Apache-2.0

    Project: MCUboot
    Origin:  https://github.com/mcu-tools/mcuboot
    License: Apache-2.0


9p4z — 9P2000 for Zephyr
------------------------

    Project: 9p4z
    Origin:  https://github.com/jrsharp/9p4z
    Author:  Jon Sharp (2025-2026)
    License: MIT

    Provides the 9P2000 client/server framework used by FRST for
    its namespace layer, BLE L2CAP transport, and keyboard/data-
    crystal protocols.


aephyr — LoRa mesh networking for Zephyr
----------------------------------------

    Project: aephyr
    Origin:  https://github.com/jrsharp/aephyr
    Author:  Jon Sharp (2025-2026)
    License: MIT

    HeyMac L2 MAC protocol and PHY glue.  The HeyMac protocol and
    design are credited to Dean Hall (https://github.com/dwhall/heymac).

    Thanks to Dean Hall for HeyMac.


zephyr-pforth — pForth for Zephyr
---------------------------------

    Project: zephyr-pforth
    Origin:  https://github.com/jrsharp/zephyr-pforth
    License: MIT (Zephyr integration glue)
             pForth itself is public domain / originally by Phil Burk
             of 3DO / SoftSynth.  See pForth distribution at
             https://github.com/philburk/pforth for the upstream.

    Thanks to Phil Burk.


Frotz — Z-machine interpreter
-----------------------------

    Project: Frotz (dumb frontend)
    Origin:  https://davidgriffith.gitlab.io/frotz/
    Author:  Stefan Jokisch (1995-1997), maintained by David Griffith
    License: GPL-2.0-or-later

    The `src/frotz/` subtree is a lightly adapted dumb-mode build of
    Frotz, wired into the FRST console and namespace layer through
    `os_zephyr.c`.  It plays Z-machine stories (the `frotz`,
    `zork`, and `lostpig` builtins).

    Because Frotz is GPL-2.0-or-later, the combined FRST binary
    distribution is governed by GPL-2.0-or-later.  Source for this
    release is available alongside the binary (that's what this
    tarball is) in compliance with GPL §3.


stb_image — image decoder
-------------------------

    Project: stb_image (single-file public-domain library)
    Origin:  https://github.com/nothings/stb
    Author:  Sean Barrett and contributors
    License: Public domain (Unlicense) / MIT, at your option

    `src/stb/stb_image.h` decodes JPEG / PNG / GIF for the `img`
    viewer, `slides`, and the gopher client; it is dithered to 1-bit
    and wired to FRST's PSRAM allocator in `src/stb_image_impl.c`.

    Thanks to Sean Barrett.


Fonts
-----

    Project: 5x13 font by Leah Neukirchen
    Origin:  https://leahneukirchen.org/dotfiles/.fonts/
    License: Public domain

    Converted to Zephyr CFB format by `scripts/bdf_to_cfb.py`.
    Source header: `src/cfb_font_5x13.h`.

    Project: JetBrains Mono
    Origin:  https://www.jetbrains.com/mono/
    License: SIL Open Font License (OFL-1.1)

    Rasterized and CP437-mapped at 10x16 and 20x32 cell sizes by
    `scripts/gen_cp437_font.py` for the e-ink terminal.  Source
    headers: `src/cfb_font_jetbrains_10x16.h`,
    `src/cfb_font_jetbrains_20x32.h`.


CP437 and box-drawing content
-----------------------------

Code Page 437 glyphs are rendered from JetBrains Mono plus a small
set of hand-drawn fallback bitmaps (see `scripts/gen_cp437_font.py`
`_FALLBACK_10` / `_FALLBACK_20`).  CP437 itself is a standard
(IBM-derived) character set and not subject to copyright.


Images and content
------------------

The boot splash (`MODEL4` logo, device outline), the `frst` logo
bitmap, the art gallery images in `skel/img/`, the system tour
slides, and the quickref / keyboard guide docs are original work
by Jon Sharp and are released under MIT along with the rest of the
application code.

The gopher skeleton content under `skel/text/gopher/` is original
writing for this release.


CPU emulators and games
-----------------------

- `src/cpu6502.c` — 65C02 emulator written from scratch for FRST.
  MIT.  (Cross-checked against Michael Steil's test suite.)
- `src/woz.c` — Apple 1 / Replica 1 wrapper, Krusader/BASIC ROM
  loading.  Krusader ROM is by Ken Wessen and redistributable for
  non-commercial use; see
  https://www.sbprojects.net/projects/apple1/krusader.php.
- `skel/img/*.pbm` — original or user-contributed art.
- Built-in games (`tetris`, `snake`, `chess`, `blackjack`, `hangman`,
  `wumpus`, `fortune`, `pom`, `zzt`, `mavis`, `arithmetic`) are
  original implementations by Jon Sharp.  MIT.


Text files in `skel/text/`
--------------------------

The `skel/text/` tree bundles a selection of public-domain and
historically-significant text files for on-device reading:

- `skel/text/rfcs/` — IETF RFCs (public domain, in general — see
  https://www.rfc-editor.org/copyright/).
- `skel/text/plan9/` — Plan 9 man pages from Bell Labs / Plan 9
  Foundation.  Plan 9 is open-source under the MIT license; see
  https://p9f.org/.
- `skel/text/phrack.*.phk`, `skel/text/famous.bug`,
  `skel/text/anonymit`, `skel/text/crossbow`, etc. — files of
  historical interest from various underground / BBS-era
  archives.  All are believed to be freely distributable based on
  their long-standing circulation, but if you are the author (or
  authoritative maintainer) of one of these texts and would prefer
  it not be bundled, please open an issue.


Plan 9 / Inferno influence
--------------------------

Much of the FRST shell language and namespace design draws from
Plan 9 from Bell Labs and Inferno OS.  Those systems are the work
of many people at Bell Labs and Vita Nuova, including but not
limited to Rob Pike, Ken Thompson, Dennis Ritchie, Howard Trickey,
Phil Winterbottom, and Dave Presotto.  Plan 9 is now MIT-licensed
through the Plan 9 Foundation.

Specific inspirations worth calling out:
- `rc` shell grammar (Duff, Bell Labs)
- 9P2000 protocol
- Namespace per-process model and `mount`/`bind` semantics
- `ed` / `sam` / `sed` command style (Ritchie, Pike, McIlroy)

No Plan 9 or Inferno source code is incorporated into this release;
the influence is at the level of design and idiom.


Development and authorship
--------------------------

FRST is designed, directed, and built by Jon Sharp.  Since Fall 2025
the firmware has been developed in substantial collaboration with
Claude (Anthropic's frontier models, via Claude Code).
Design decisions, direction, and responsibility for the result rest
with Jon; a great many of the lines were written together.  Any code
smells are Claude's. ;)


Combined-binary note
--------------------

Because `src/frotz/` is GPL-2.0-or-later and is statically linked
into the Zephyr application binary, the combined firmware image
distributed by this project is governed by the terms of the GNU
General Public License, version 2 or later, for the purposes of
redistribution.  Source code for the binary is provided as part of
this release tarball.

Individual files within this repository retain their own licenses.
In particular:
- FRST-authored files are licensed MIT (see LICENSE).
- Zephyr/HAL/MCUboot files are Apache-2.0.
- Frotz files are GPL-2.0-or-later.

If you wish to distribute a FRST-derived binary under a different
license, remove or replace `src/frotz/` and the `frotz`/`zork`/
`lostpig` builtins in `src/zrc.c`.  Without those pieces the rest of
the codebase is MIT and compatible with closed or proprietary
distribution.


---

Copyright (c) 2023-2026 Jon Sharp.
Questions, corrections, and license-cleanup suggestions welcome at
the project's official BBS and gopher hole, or via GitHub issues.
