Overview of Project Nayuki software licenses
For the sake of convenience, this page lists nearly all of my published software projects, along with the programming languages and copyright license used in each one.
Many of my JavaScript/
In the rare case if there is a license disagreement between this index page and a project’s main page, then the project page’s license takes precedence.
Page/ |
License | Languages |
---|---|---|
A math/ | Public domain | Java |
Batch up new messages in Gmail for better productivity | Public domain | JavaScript |
Fast Fibonacci algorithms | Public domain | Java, Python, JavaScript, Haskell, C# |
Good Java idioms | Public domain | Java |
Java BigInteger was made for RSA cryptography | Public domain | Java |
How to implement the discrete Fourier transform | Public domain | Java, JavaScript, TypeScript, Python, C, C++, C#, Rust, MATLAB |
Next lexicographical permutation algorithm | Public domain | Java, JavaScript, TypeScript, Python, C, C++, C#, Rust, Haskell, Mathematica, MATLAB |
The versatile sieve of Eratosthenes | Public domain | Python, Java, TypeScript, C#, C++, C, Rust |
Zeller’s congruence | Public domain | Python, Java, C#, TypeScript, Rust, C, C++, Haskell, Mathematica, MATLAB |
AA tree set | MIT License | Java, Python, Rust |
AVL tree list | MIT License | Java, TypeScript, Python, C++, C#, Rust |
B-tree set | MIT License | Java, Python, C++, Rust |
Binary array set | MIT License | Java, Python, C++, Rust |
Binary indexed tree | MIT License | Java, Python, C++, TypeScript, Rust |
Binomial heap | MIT License | Java, Python, C++, Rust |
Bitcoin cryptography library | MIT License | C++, Java, x86 |
BitTorrent bencode format tools | MIT License | TypeScript, Java, Python, Rust |
BMP I/O library (Java) | MIT License | Java |
Compact hash map (Java) | MIT License | Java |
Cryptographic primitives in plain Python | MIT License | Python |
DEFLATE library (Java) | MIT License | Java |
Disjoint-set data structure | MIT License | Java, TypeScript, Python, C++, C, C#, Rust |
Dumb PNG output (Java) | MIT License | Java |
Elliptic curve point addition in projective coordinates | MIT License | Python |
Fast discrete cosine transform algorithms | MIT License | Java, Python, C, C++, JavaScript, TypeScript, C#, Rust |
Fast Fourier transform in x86 assembly | MIT License | C++, x86 |
Fast MD5 hash implementation in x86 assembly | MIT License | C, x86 |
Fast QR Code generator library | MIT License | Java |
Fast SHA-1 hash implementation in x86 assembly | MIT License | C, x86 |
Fast SHA-2 hashes in x86 assembly | MIT License | C, x86 |
Fast Whirlpool hash in x86 assembly | MIT License | C, x86 |
Free small FFT in multiple languages | MIT License | Java, JavaScript, TypeScript, Python, C, C++, C#, Rust |
Git library (Java) | MIT License | Java |
JSON library (Java) | MIT License | Java |
Knuth–Morris–Pratt string matching | MIT License | Java, JavaScript, TypeScript, Python, C, C++, C#, Rust |
Native hash functions for Java | MIT License | Java, C, x86 |
Pervasive Displays e-paper panel hardware driver | MIT License | C++ |
PNG library | MIT License | Java |
Portable FloatMap format I/O (Java) | MIT License | Java |
QR Code generator library | MIT License | Java, TypeScript, Python, C++, C, Rust, SVG |
RC4 cipher in x86 assembly | MIT License | C, x86 |
Reference arithmetic coding | MIT License | Java, Python, C++ |
Reference Huffman coding | MIT License | Java, Python, C++ |
Simple DEFLATE decompressor | MIT License | Java, Python, C++, TypeScript |
Simple FLAC implementation | MIT License | Java, Python |
Simple GUI FLAC player (Java) | MIT License | Java |
Sliding window minimum/ | MIT License | Java, Python, C++, Rust |
Sorting algorithms demo (Java) | MIT License | Java |
sRGB transform library | MIT License | Java, C, C++, Python, JavaScript, TypeScript |
Time-based One-Time Password tools | MIT License | TypeScript, Python, Java, Rust, C++ |
Tiny Encryption Algorithm in x86 assembly | MIT License | C, x86 |
Convex hull algorithm | GNU LGPL 3+ | Java, TypeScript, Python, C++, C# |
FLAC library (Java) | GNU LGPL 3+ | Java |
Smallest enclosing circle | GNU LGPL 3+ | Java, TypeScript, Python, C#, C++ |
Tiny PNG Output | GNU LGPL 3+ | C, C++ |
CSC258 computer debugger | GNU GPL 3+ | Java, CSC258 |
Forcing a file’s CRC to any value | GNU GPL 3+ | Java, Python, Rust, C |
Sinc-based image resampler | GNU GPL 3+ | Java |
Binary counter in brainfuck | Unspecified | Brainfuck |
Example of simplifying and improving code | Unspecified | Java |
NetPerSec (Nayuki’s version) | Unspecified | C++ |
1D barcode generator (JavaScript) | All rights reserved | TypeScript |
AES cipher internals in Excel | All rights reserved | Excel, ODS |
Animated floating graph nodes | All rights reserved | TypeScript, SVG |
Approximating Euler’s number correctly | All rights reserved | Python, Java |
Automatic Caesar cipher breaker (JavaScript) | All rights reserved | JavaScript |
Automatic Minesweeper solver | All rights reserved | Java |
Band-limited square waves | All rights reserved | Python, Java, JavaScript |
Barrett reduction algorithm | All rights reserved | Java, Python, Mathematica |
Brainfuck interpreter (JavaScript) | All rights reserved | TypeScript, Brainfuck |
Caesar cipher (JavaScript) | All rights reserved | JavaScript |
Calculate divisors (JavaScript) | All rights reserved | JavaScript |
Calculate GCD (JavaScript) | All rights reserved | TypeScript |
Calculate prime factorization (JavaScript) | All rights reserved | JavaScript |
Canada Tax-Free Savings Account simulator (JavaScript) | All rights reserved | JavaScript |
Chemical equation balancer (JavaScript) | All rights reserved | TypeScript |
Computing Wikipedia’s internal PageRanks | All rights reserved | Java |
Creating a QR Code step by step | All rights reserved | TypeScript |
DES cipher internals in Excel | All rights reserved | Excel, ODS |
DWITE programming contest solutions | All rights reserved | Java |
Encrypted backup client for Dropbox | All rights reserved | Java |
Facebook anniversary ray trace | All rights reserved | POV-Ray |
Factorize Gaussian integer (JavaScript) | All rights reserved | TypeScript, Java |
Fast skipping in a linear congruential generator | All rights reserved | Java, Python |
Full screen clock (JavaScript) | All rights reserved | HTML, SVG, CSS, JavaScript |
Galois linear feedback shift register | All rights reserved | Java, Python |
Gamma-aware image dithering | All rights reserved | Java |
Gauss–Jordan elimination over any field | All rights reserved | Java, Python |
Gaussian blur demo | All rights reserved | JavaScript, Java |
GIF optimizer (Java) | All rights reserved | Java |
GO Train acceleration analyzed by video | All rights reserved | Java, Python |
Huffman-coding English words | All rights reserved | Java |
Image unshredder by annealing | All rights reserved | Java, TypeScript |
Iterated popcount results in 0 or 1 | All rights reserved | Python, Java |
Java Native Interface compared to Python/C API | All rights reserved | C, Java, Python |
Karatsuba multiplication | All rights reserved | Java, Python |
Knuth’s -yllion number notation | All rights reserved | Java, Python, TypeScript |
Lowest SHA-512 value by brute force | All rights reserved | C, x86, Python |
MamIRC, the headless IRC client | All rights reserved | Java, JavaScript, CSS, Python |
Master theorem solver (JavaScript) | All rights reserved | JavaScript |
Montgomery reduction algorithm | All rights reserved | Java, Python, Mathematica |
Nanoblock modeling in POV-Ray | All rights reserved | POV-Ray |
Number-theoretic transform (integer DFT) | All rights reserved | Python, Java, TypeScript |
NotepadCrypt format decrypter (Java) | All rights reserved | Java |
Optimizing brainfuck compiler | All rights reserved | Python |
Optimal text segmentation for QR Codes | All rights reserved | TypeScript |
Panel de Pon puzzle solver (JavaScript) | All rights reserved | TypeScript, Java |
PNG file chunk inspector | All rights reserved | TypeScript |
Primitive recursive functions | All rights reserved | Python, Haskell, Java |
Project Euler solutions | All rights reserved | Java, Python, Mathematica, Haskell |
Propositional sequent calculus prover | All rights reserved | TypeScript |
Random password generator (JavaScript) | All rights reserved | JavaScript, CSS |
Reed–Solomon error-correcting code decoder | All rights reserved | Java, Python |
Resizing images by area | All rights reserved | JavaScript |
Simulated annealing demo | All rights reserved | Java, JavaScript, C, x86 |
SQLite database file visualizations | All rights reserved | TypeScript |
Symmetry sketcher (JavaScript) | All rights reserved | JavaScript |
Tablet desk clock | All rights reserved | TypeScript, Python, CSS, HTML |
Tap to measure tempo (JavaScript) | All rights reserved | JavaScript |
Tax brackets visualizations | All rights reserved | JavaScript |
Triangle solver (JavaScript) | All rights reserved | JavaScript, HTML |
Vigenère cipher (JavaScript) | All rights reserved | JavaScript |
Windows timestamp accessor library | All rights reserved | C#, Java, Python |
Also available is a Git repository containing a complete collection and history of all the code files published on this website: https://