calog/LICENSE.md

8.5 KiB

License

calog

MIT License

Copyright (c) 2026 Scott Duensing

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.


Third-party components

calog vendors its dependencies under vendor/, each built from source. Every dependency is distributed under its own license, and the full license text ships alongside that dependency's source at the path shown below. All are permissive (MIT / BSD / Apache-2.0 / PostgreSQL / public domain) except MariaDB Connector/C, which is LGPL-2.1 -- see the note under the database libraries below.

Scripting engines

  • Lua 5.4 -- MIT License. Copyright (C) 1994-2023 Lua.org, PUC-Rio. vendor/lua/ (notice in src/lua.h).

  • QuickJS-ng (JavaScript) -- MIT License. Copyright (c) 2017-2024 Fabrice Bellard, Charlie Gordon, and QuickJS-ng contributors. vendor/quickjs/quickjs.h.

  • Squirrel 3.2 -- MIT License. Copyright (c) 2003-2022 Alberto Demichelis. vendor/squirrel-src/COPYRIGHT.

  • our-basic -- calog's fork of MY-BASIC. MIT License. Copyright (C) 2011-2026 Tony Wang. vendor/ourbasic/ (license notice in ourBasic.h). The fork's changes are catalogued in vendor/ourbasic/NOTICE and vendor/ourbasic/CHANGELOG; the pristine upstream source is preserved as vendor/ourbasic/ourBasic.c.upstream.

  • s7 Scheme -- BSD Zero-Clause License (0BSD; SPDX-License-Identifier: 0BSD). Copyright (c) Bill Schottstaedt; derived from TinyScheme 1.39. vendor/s7/s7.c.

  • Wren 0.4.0 -- MIT License. Copyright (c) 2013-2021 Robert Nystrom and Wren Contributors. Notice in vendor/wren/wren.c and vendor/wren/wren.h.

    Note: vendor/wren/wren.c and wren.h carry one small calog patch adding a public C map-key iterator (wrenGetMapCapacity / wrenGetMapEntry), which upstream Wren lacks; it mirrors Wren's own internal map_iterate. The additions are bracketed by --- calog patch --- comments. Re-apply them if the amalgamation is regenerated from upstream (util/generate_amalgamation.py).

  • Berry -- MIT License. Copyright (c) 2018-2022 Guan Wenliang and Berry contributors. Notice in vendor/berry/src/berry.h.

  • mruby 4.0.0 (Ruby) -- MIT License. Copyright (c) 2010-2025 mruby developers. vendor/mruby/ (unmodified upstream; license in vendor/mruby/LICENSE, contributors in vendor/mruby/AUTHORS). libmruby.a is generated by mruby's own Rake build (needs a host Ruby + bison at build time); calog links the resulting static archive.

  • Janet 1.41.2 (Lisp) -- MIT License. Copyright (c) 2017-2025 Calvin Rose and contributors. vendor/janet/ (single-file amalgamation janet.c/janet.h + janetconf.h, built from source like s7/Wren). vendor/janet/LICENSE.

  • Tcl 9.0.4 (Tool Command Language) -- Tcl/Tk License (BSD-style, permissive; allows binary-only redistribution, no copyleft). Copyright (c) the Tcl Core Team and contributors. vendor/tcl/ (unmodified upstream, trimmed to the core: generic/unix/compat/ libtommath/library; license in vendor/tcl/license.terms). libtcl9.0.a is produced by Tcl's own autoconf build (configure --disable-shared, out of tree into vendor/tcl/build/); calog links the resulting static archive (-ldl -lz -lpthread -lm).

Database, network, and cryptography libraries

All of the following are linked into the default build and into bin/calog. bin/calog ships with all three SQL drivers (dbOpen("sqlite" | "postgres" | "mysql", ...)).

  • SQLite 3.53.3 -- Public Domain. The SQLite source is dedicated to the public domain; in lieu of a license it carries a blessing ("May you do good and not evil..."). vendor/sqlite/sqlite3.c.

  • PostgreSQL / libpq -- The PostgreSQL License (a permissive, MIT-style license). Portions Copyright (c) 1996-2026 PostgreSQL Global Development Group; Portions Copyright (c) 1994 The Regents of the University of California. vendor/postgres/COPYRIGHT.

  • MariaDB Connector/C -- GNU Lesser General Public License, version 2.1 (LGPL-2.1). Copyright (c) MariaDB Corporation Ab and others. vendor/mariadb/COPYING.LIB.

  • ENet -- MIT License. Copyright (c) 2002-2024 Lee Salzman. vendor/enet/LICENSE.

  • OpenSSL 3.5.7 -- Apache License 2.0. Copyright (c) The OpenSSL Project Authors. vendor/openssl/LICENSE.txt.

  • libssh2 1.11.1 -- BSD-3-Clause License. Copyright (c) 2004-2023 Daniel Stenberg, Sara Golemon, The Written Word, Inc., and other contributors (full list in the file). vendor/libssh2/COPYING.

Compression and archive libraries

The archive library (libs/calogArchive.c) is built on libarchive with the codec backends below. All are permissive (BSD / zlib / 0BSD / MIT), so this whole stack keeps an all-permissive redistributable binary. Each is vendored and built from source; see each vendor/<lib>/NOTICE.calog for what was kept. (libarchive's XAR format also uses the vendored OpenSSL for its MD5/SHA1 entry checksums; OpenSSL is listed above.)

  • libarchive 3.8.8 -- BSD-2-Clause License. Copyright (c) the libarchive contributors. vendor/libarchive/COPYING.
  • zlib 1.3.1 (DEFLATE / gzip) -- zlib License. Copyright (c) 1995-2024 Jean-loup Gailly and Mark Adler. vendor/zlib. Built to a single lib/libz.a used by the archive stack.
  • bzip2 1.0.8 -- bzip2 License (BSD-style). Copyright (c) 1996-2019 Julian Seward. vendor/bzip2/LICENSE.
  • LZ4 1.10.0 -- BSD-2-Clause License. Copyright (c) 2011-2024 Yann Collet. vendor/lz4/LICENSE.
  • Zstandard 1.5.6 -- BSD-3-Clause License (zstd is dual BSD-3 / GPLv2; the permissive BSD option applies here). Copyright (c) Meta Platforms, Inc. and affiliates. vendor/zstd/LICENSE.
  • XZ Utils / liblzma 5.6.4 (xz/lzma, and libarchive's 7-zip) -- BSD Zero Clause License (0BSD), public-domain-equivalent. vendor/xz.
  • libxml2 2.13.9 -- MIT License. Copyright (C) 1998-2012 Daniel Veillard. The XML backend for libarchive's XAR format (read + write) and for the XML library (libs/calogXml.c). Vendored and built static and lean (no python/programs/http/icu/ modules). vendor/libxml2/Copyright.

Text and process utilities

  • PCRE2 10.45 (Perl-compatible regular expressions) -- BSD-3-Clause License with the PCRE2 exception (permissive; the exception concerns only binary redistribution of the JIT, which calog does not build). The regex backend for libs/calogRegex.c; built 8-bit, static, no JIT. Copyright (c) 1997-2024 University of Cambridge and Zoltan Herczeg. vendor/pcre2/LICENCE.md. (The CSV and subprocess libraries have no third-party dependency.)

Note on the database backends and LGPL. MariaDB Connector/C is the only copyleft dependency in the tree. It is statically linked into bin/calog, which carries the usual LGPL-2.1 obligations for a distributed binary (chiefly, providing the means to relink against a modified Connector/C). SQLite and PostgreSQL/libpq are permissive. A redistributor who wants an entirely permissive binary can build without the MySQL backend -- drop -DCALOG_WITH_MYSQL and the $(MYSQLARCH) archive from the bin/calog link in the Makefile -- and keep SQLite + PostgreSQL.

Platform support (Windows builds only)

Linked only into Windows builds; not present in the Linux or macOS builds (those use the native pthreads).

  • winpthreads (from mingw-w64) -- MIT License. Copyright (c) 2011 mingw-w64 project; parts derived from the Pthreads-win32 (POSIX Threads for Windows) library. A POSIX threads implementation over the Win32 API, so calog's pthread code compiles on Windows. Vendored from source (see vendor/winpthreads/NOTICE.calog); license in vendor/winpthreads/COPYING.