Leyline
Copyright 2026 Reflexive Labs, LLC

Leyline is licensed under the Apache License, Version 2.0 (LICENSE), with one exception: the
engine under engine/ (the leylined daemon and its EngineCore library) is licensed under the GNU
General Public License, version 3 or, at your option, any later version (engine/LICENSE), because
it links librtlsdr. swift/LeylineProto is generated from the Apache-2.0 protocol definitions in
proto/ and stays Apache-2.0. Every source file names its licence on an
SPDX-License-Identifier line; docs/decisions/D2-licensing.md is the decision and its reasoning.

Reflexive Labs, LLC claims "Leyline", "ley" and "leysdr" as trademarks. The licences above do not grant
trademark rights; TRADEMARK.md says what use of the names is fine without asking.

Third-party software
====================

The licence text of everything below is vendored under third_party/licenses/ (the file named in
third_party/licenses/MANIFEST.txt), and scripts/check-licenses.sh keeps that table equal to what
the build pulls in.

The daemon, leylined, links:

  librtlsdr        GPL-2.0-or-later   third_party/licenses/librtlsdr.txt
                   The RTL-SDR driver. This is the reason the engine is GPL. Binary releases of
                   the daemon carry a written offer of its source; see docs/dev/release-checklist.md.
  libhackrf        BSD-3-Clause       third_party/licenses/libhackrf.txt
                   The HackRF receive driver.
  libusb           LGPL-2.1-or-later  third_party/licenses/libusb.txt  (through both drivers)

and these Swift packages, all under the Apache License 2.0:

  grpc-swift-2, grpc-swift-nio-transport, grpc-swift-protobuf, swift-algorithms,
  swift-argument-parser, swift-asn1, swift-async-algorithms, swift-atomics, swift-certificates,
  swift-collections, swift-crypto, swift-http-structured-headers, swift-http-types, swift-log,
  swift-nio, swift-nio-extras, swift-nio-http2, swift-nio-ssl, swift-nio-transport-services,
  swift-numerics, swift-protobuf, swift-service-lifecycle, swift-system

  The NOTICE files those packages distribute are reproduced as
  third_party/licenses/swift_<package>.NOTICE.txt, as their licence requires.

The Mac app, Leyline.app, also links Sparkle (github.com/sparkle-project/Sparkle), which updates
it:

  Sparkle          MIT, with parts    third_party/licenses/swift_sparkle.txt
                   under BSD-2-Clause (bsdiff, SUSignatureVerifier), MIT (sais-lite) and Zlib
                   (the portable Ed25519); its licence text lists each.

The Go clients (ley and the github.com/reflexive-labs/leysdr/go/pkg/leyline library) import:

  Apache-2.0    github.com/oklog/ulid/v2, github.com/spf13/cobra,
                google.golang.org/genproto/googleapis/rpc, google.golang.org/grpc
  BSD-3-Clause  github.com/spf13/pflag, github.com/yosida95/uritemplate/v3, golang.org/x/net,
                golang.org/x/oauth2, golang.org/x/sync, golang.org/x/sys, golang.org/x/text,
                golang.org/x/time, google.golang.org/protobuf
  MIT           github.com/aymanbagabas/go-osc52/v2, github.com/charmbracelet/colorprofile,
                github.com/charmbracelet/lipgloss, github.com/charmbracelet/x/ansi,
                github.com/charmbracelet/x/cellbuf, github.com/charmbracelet/x/term,
                github.com/google/jsonschema-go, github.com/lucasb-eyer/go-colorful,
                github.com/mattn/go-isatty, github.com/mattn/go-runewidth, github.com/muesli/termenv,
                github.com/rivo/uniseg, github.com/segmentio/asm, github.com/segmentio/encoding,
                github.com/xo/terminfo
  Apache-2.0    github.com/modelcontextprotocol/go-sdk, gopkg.in/yaml.v3
  and MIT       (each has files under both licences; see its vendored licence text)

  The NOTICE files google.golang.org/grpc and gopkg.in/yaml.v3 distribute are reproduced as
  third_party/licenses/go_<module>.NOTICE.txt, as their licence requires.

Nothing outside engine/ imports copyleft code, and the licence check refuses a dependency that
would change that.
