Goblin Core
Copyright 2026 Goblin Core contributors

Licensed under the Apache License, Version 2.0. See LICENSE.

The block-based sorted-list design used by Goblin Core's zset implementation was
informed by Sorted Containers:

  Python Sorted Containers
  Copyright 2014-2024 Grant Jenks
  Licensed under the Apache License, Version 2.0
  https://github.com/grantjenks/python-sortedcontainers
  https://grantjenks.com/docs/sortedcontainers/implementation.html

Goblin Core does not vendor Sorted Containers source code. The C++ implementation
is an independent implementation of the documented design approach: sorted
blocks, per-block maximum values, and a compact rank index.

Pub/Sub subscriber sets use the vendored header-only unordered_dense library:

  ankerl::unordered_dense  Copyright (c) 2022 Martin Leitner-Ankerl (MIT)
                           https://github.com/martinus/unordered_dense
                           third_party/unordered_dense/LICENSE

Real-time linear-hash field/key indexes use the vendored header-only xxHash
library (XXH3 via `XXH_INLINE_ALL`):

  xxHash 0.8.3             Copyright (c) 2012-2021 Yann Collet (BSD-2-Clause)
                           https://github.com/Cyan4973/xxHash
                           third_party/xxhash/LICENSE

Base-10 integer (and optionally float) parsing on RESP and string-encoding paths
uses the vendored header-only fast_float library:

  fast_float 8.0.2         Copyright (c) 2021 The fast_float authors
                           MIT OR Apache-2.0; selected Apache-2.0
                           https://github.com/fastfloat/fast_float
                           third_party/fast_float/LICENSE-APACHE

Kafka command-log ingestion uses the vendored librdkafka C client:

  librdkafka 2.15.0         Copyright (c) 2012-2022 Magnus Edenhill
                            Copyright (c) 2023 Confluent Inc. (BSD-2-Clause)
                            https://github.com/confluentinc/librdkafka
                            third_party/librdkafka/LICENSE

EFA and provider-neutral reliable-datagram networking use AWS's qualified
libfabric release. Goblin Core elects its permissive BSD license option rather
than its GPL option:

  AWS libfabric 2.4.0amzn5.0
                            Copyright (c) Intel Corporation
                            Copyright (c) 2015-2019 Cisco Systems, Inc.
                            (BSD OR GPL-2.0-only; selected BSD)
                            https://github.com/aws/libfabric
                            third_party/libfabric/COPYING

XLIO Ultra networking uses pinned NVIDIA XLIO and Direct Packet Control Plane
sources. Goblin Core elects XLIO's permissive BSD license option rather than its
GPL option:

  NVIDIA XLIO 3.61.2       Copyright (c) 2020-2026 NVIDIA Corporation and
                           affiliates (GPL-2.0-only OR BSD-2-Clause; selected
                           BSD-2-Clause, with a small BSD-3-Clause file set)
                           https://github.com/Mellanox/libxlio
                           third_party/xlio/LICENSE
  NVIDIA DPCP 1.1.61       Copyright (c) 2020-2025 NVIDIA Corporation and
                           affiliates (BSD-3-Clause; CMake support is Apache-2.0)
                           https://github.com/Mellanox/libdpcp
                           third_party/libdpcp/LICENSE

XLIO also carries permissively licensed upstream components: json-c (MIT),
lwIP and its FreeBSD-derived TCP congestion-control code (BSD-style), and a
test-only GoogleTest copy (BSD-3-Clause). Their copyright and license notices
are retained in the corresponding files under third_party/xlio/. Its legacy
configuration parser is generated by GNU Bison and carries the Bison parser
exception, which permits the generated parser to be distributed as part of a
larger work under terms of the distributor's choice. The consolidated XLIO
component notices are in third_party/xlio/debian/copyright.

DPCP's Autoconf Archive helper macros retain their upstream FSF Autoconf
licenses and exceptions. They are build-system inputs and are not linked into
Goblin Core or the DPU runtime.

RESP credential files use the system-linked libsodium password-hashing API:

  libsodium                  Copyright (c) 2013-2026 Frank Denis (ISC)
                             https://libsodium.org

Optional Aeron UDP/IPC transport support links the C client from an external
Aeron installation. Aeron is not vendored in this repository:

  Aeron 1.51.0               Copyright 2014-2025 Real Logic Limited
                             Apache License 2.0
                             https://github.com/aeron-io/aeron

--------------------------------------------------------------------------------

Scripting (EVAL / EVALSHA / SCRIPT)

Goblin Core embeds the Lua runtime and the standard Lua scripting helper
libraries. Each is vendored from its own public upstream under third_party/ and
retains its original copyright notice and permissive (MIT / BSD-style) license:

  Lua 5.1.5            Copyright (C) 1994-2012 Lua.org, PUC-Rio (MIT)
                       https://www.lua.org/            third_party/lua/COPYRIGHT
  lua-cjson 2.1.0      Copyright (C) 2010-2012 Mark Pulford (MIT)
                       https://github.com/mpx/lua-cjson third_party/lua-cjson/LICENSE
  lua-cmsgpack         Copyright (C) 2012 Salvatore Sanfilippo (BSD-2-Clause)
                       https://github.com/antirez/lua-cmsgpack
  Lua struct           Copyright (C) 2010-2012 Lua.org, PUC-Rio (MIT)
                       https://www.inf.puc-rio.br/~roberto/struct/
  LuaBitOp             Copyright (C) 2008-2012 Mike Pall (MIT)
                       https://bitop.luajit.org/

The two-clause BSD / MIT notices are carried in the respective source files.

The EVAL / EVALSHA / SCRIPT command family, the `redis` (and `server`) Lua API
table, and the RESP<->Lua value conversion were written independently from the
public Redis scripting specification. No Redis (or Valkey/Dragonfly) source code
was consulted or copied; the helper libraries above are the same independent
upstream projects that other engines also bundle.

A second, independent interpreter powers the LUAU.EVAL / LUAU.EVALSHA /
LUAU.SCRIPT command family. It embeds the Luau runtime (the minimal Common + Ast
+ Bytecode + Compiler + VM subset, without the CodeGen JIT or the Analysis type
checker), vendored under third_party/luau/ from its own public upstream:

  Luau                 Copyright (C) 2019-2024 Roblox Corporation
                       Copyright (C) 1994-2019 Lua.org, PUC-Rio (MIT)
                       https://github.com/luau-lang/luau
                       third_party/luau/LICENSE.txt (and lua_LICENSE.txt)

The LUAU.* command handlers and their `redis` API binding (src/luau_script.cpp)
were likewise written from the public scripting specification, not from any other
engine's source.

A third, independent interpreter powers the WREN.EVAL / WREN.EVALSHA /
WREN.SCRIPT command family, embedding the Wren scripting language, vendored under
third_party/wren/ from its own public upstream:

  Wren                 Copyright (C) 2013-2021 Robert Nystrom and Wren
                       Contributors (MIT)
                       https://wren.io  https://github.com/wren-lang/wren
                       third_party/wren/LICENSE

The WREN.* command handlers, the foreign `Redis` class binding, and the
Wren<->RESP value conversion (src/wren_script.cpp) were written from the public
Wren embedding documentation.

A fourth interpreter powers the TCL.EVAL / TCL.EVALSHA / TCL.SCRIPT command
family, embedding Jim Tcl (a small, embeddable Tcl), vendored under
third_party/jimtcl/ from its own public upstream:

  Jim Tcl              Copyright (c) 2005-2025 Salvatore Sanfilippo, Steve Bennett,
                       and other Jim Tcl contributors (BSD-2-Clause)
                       https://jim.tcl.tk  https://github.com/msteveb/jimtcl
                       third_party/jimtcl/LICENSE

Only the interpreter core plus the stdlib and tclcompat Tcl libraries are
vendored; third_party/jimtcl/jimautoconf.h is a hand-written portable config so
the subset builds without Jim's autosetup step. The TCL.* command handlers, the
`redis` Tcl command, and the Tcl<->RESP conversion (src/tcl_script.cpp) were
written from the public Jim Tcl embedding API.

A fifth interpreter powers the UPYTHON.EVAL / UPYTHON.EVALSHA / UPYTHON.SCRIPT
command family, embedding MicroPython. Its embed port (ports/embed) generated a
self-contained C tree, vendored under third_party/micropython/, from its own
public upstream:

  MicroPython          Copyright (c) 2013-2024 Damien P. George and contributors
                       (MIT)
                       https://micropython.org
                       https://github.com/micropython/micropython
                       third_party/micropython/LICENSE

The generated micropython_embed/ tree and its genhdr/ headers correspond to the
config in third_party/micropython/mpconfigport.h. The UPYTHON.* command handlers,
the `redis` Python module, and the Python<->RESP conversion (src/upython_script.cpp)
were written from the public MicroPython embedding API.
