Lilush stands on the shoulders of giants, and would not be possible without the following projects:
| Library | License | Copyright |
|---|---|---|
| LuaJIT | MIT | (c) 2005-2026 Mike Pall |
| lua-cjson | MIT | (c) 2010-2012 Mark Pulford |
| BearSSL | MIT | (c) Thomas Pornin |
| TweetNaCl | Public Domain | (c) Daniel J. Bernstein, Tanja Lange, Peter Schwabe |
| WireGuard | LGPL-2.1+ | (c) 2008-2012 Pablo Neira Ayuso, (c) 2015-2020 Jason A. Donenfeld |
| miniz | MIT / Unlicense | (c) 2013-2014 RAD Game Tools and Valve Software, (c) 2010-2014 Rich Geldreich and Tenacious Software LLC |
Lilush is licensed under OWL v1.0+.
See the LICENSE and LICENSING files in the repository root for
full details.
LuaJIT is MIT-licensed. Its copyright notice and license text are preserved in its source directory.
BearSSL -- Selected cryptographic primitives (AES, ECDSA P-256/P-384/P-521,
RSA verify, SHA-256, HMAC, HMAC-DRBG, GHASH, and supporting big-integer
arithmetic) are extracted from BearSSL and used in the LITLS stack. BearSSL is
MIT-licensed. The original copyright headers are preserved in the extracted
source files under src/litls/bearssl/.
TweetNaCl -- X25519 key exchange and Ed25519 signatures are based on
TweetNaCl, which is public domain. The original authors' notice is preserved
in src/litls/litls_ed25519.c and src/litls/litls_x25519.c.
miniz is dual-licensed (MIT / Unlicense). It is a multi-file zlib replacement used for deflate/inflate compression, gzip support, and CRC-32/Adler-32 checksums. The original copyright notice and license text are preserved in its source files.
WireGuard -- Lilush includes a couple of files (C file and the headers) from the wireguard-tools project, licensed under LGPL-2.1+. The complete corresponding source is available as part of this repository. The original copyright notices and SPDX identifier are preserved in the file.
If you have questions about licensing, contact: license@lilush.link
Antirez post about linenoise made me think about the whole domain of line-editing/input libs and input behavior in TUIs.
The build system was inspired by The Boston Diaries blog post.
The TSS system was obviously inspired by CSS, but adapted to the harsh realms of terminal.
Syntax highlighting design in LEM is built around the ideas Tonsky voiced in his post on this topic.
I do use LLMs help in refactorings, drafting features, and documenting code.
I'm very much involved in the loop, and LLM generated code is always reviewed, and usually manually refactored afterwards[1].
src/zx/): this was just a toy idea,
and it was pretty much vibecoded by Claude alone (although it took many iterations),
I did change a couple of things, but never thoroughly reviewed that code. ↩