Bun itself is MIT-licensed. ## JavaScriptCore Bun statically links JavaScriptCore (and WebKit) which is LGPL-2 licensed. WebCore files from WebKit are also licensed under LGPL2. Per LGPL2: > (1) If you statically link against an LGPL’d library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application. You can find the patched version of WebKit used by Bun here: . If you would like to relink Bun with changes: - `git submodule update --init --recursive` - `make jsc` - `zig build` This compiles JavaScriptCore, compiles Bun’s `.cpp` bindings for JavaScriptCore (which are the object files using JavaScriptCore) and outputs a new `bun` binary with your changes. ## Linked libraries Bun statically links these libraries: {% table %} - Library - License --- - [`boringssl`](https://boringssl.googlesource.com/boringssl/) - [several licenses](https://boringssl.googlesource.com/boringssl/+/refs/heads/master/LICENSE) --- - [`libarchive`](https://github.com/libarchive/libarchive) - [several licenses](https://github.com/libarchive/libarchive/blob/master/COPYING) --- - [`lol-html`](https://github.com/cloudflare/lol-html/tree/master/c-api) - BSD 3-Clause --- - [`mimalloc`](https://github.com/microsoft/mimalloc) - MIT --- - [`picohttp`](https://github.com/h2o/picohttpparser) - dual-licensed under the Perl License or the MIT License --- - [`zstd`](https://github.com/facebook/zstd) - dual-licensed under the BSD License or GPLv2 license --- - [`simdutf`](https://github.com/simdutf/simdutf) - Apache 2.0 --- - [`tinycc`](https://github.com/tinycc/tinycc) - LGPL v2.1 --- - [`uSockets`](https://github.com/uNetworking/uSockets) - Apache 2.0 --- - [`zlib-cloudflare`](https://github.com/cloudflare/zlib) - zlib --- - [`c-ares`](https://github.com/c-ares/c-ares) - MIT licensed --- - [`libicu`](https://github.com/unicode-org/icu) 72 - [license here](https://github.com/unicode-org/icu/blob/main/icu4c/LICENSE) --- - [`libbase64`](https://github.com/aklomp/base64/blob/master/LICENSE) - BSD 2-Clause --- - A fork of [`uWebsockets`](https://github.com/jarred-sumner/uwebsockets) - Apache 2.0 licensed --- - Parts of Tigerbeetle's IO code https://github.com/tigerbeetle/tigerbeetle/blob/532c8b70b9142c17e07737ab6d3da68d7500cbca/src/io/windows.zig#L1 - Apache 2.0 licensed {% /table %} ## Polyfills For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported. {% table %} - Package - License --- - [`assert`](https://npmjs.com/package/assert) - MIT --- - [`browserify-zlib`](https://npmjs.com/package/browserify-zlib) - MIT --- - [`buffer`](https://npmjs.com/package/buffer) - MIT --- - [`constants-browserify`](https://npmjs.com/package/constants-browserify) - MIT --- - [`crypto-browserify`](https://npmjs.com/package/crypto-browserify) - MIT --- - [`domain-browser`](https://npmjs.com/package/domain-browser) - MIT --- - [`events`](https://npmjs.com/package/events) - MIT --- - [`https-browserify`](https://npmjs.com/package/https-browserify) - MIT --- - [`os-browserify`](https://npmjs.com/package/os-browserify) - MIT --- - [`path-browserify`](https://npmjs.com/package/path-browserify) - MIT --- - [`process`](https://npmjs.com/package/process) - MIT --- - [`punycode`](https://npmjs.com/package/punycode) - MIT --- - [`querystring-es3`](https://npmjs.com/package/querystring-es3) - MIT --- - [`stream-browserify`](https://npmjs.com/package/stream-browserify) - MIT --- - [`stream-http`](https://npmjs.com/package/stream-http) - MIT --- - [`string_decoder`](https://npmjs.com/package/string_decoder) - MIT --- - [`timers-browserify`](https://npmjs.com/package/timers-browserify) - MIT --- - [`tty-browserify`](https://npmjs.com/package/tty-browserify) - MIT --- - [`url`](https://npmjs.com/package/url) - MIT --- - [`util`](https://npmjs.com/package/util) - MIT --- - [`vm-browserify`](https://npmjs.com/package/vm-browserify) - MIT {% /table %} ## Additional credits - Bun's JS transpiler, CSS lexer, and Node.js module resolver source code is a Zig port of [@evanw](https://github.com/evanw)’s [esbuild](https://github.com/evanw/esbuild) project. - Credit to [@kipply](https://github.com/kipply) for the name "Bun"!