# Source: https://bun.com/docs/project/license.md

> ## Documentation Index
> Fetch the complete documentation index at: https://bun.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# License

> License for Bun

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: [https://github.com/oven-sh/webkit](https://github.com/oven-sh/webkit). 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:

| Library                                                                                                                                          | License                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| [`boringssl`](https://boringssl.googlesource.com/boringssl/)                                                                                     | [several licenses](https://boringssl.googlesource.com/boringssl/+/refs/heads/master/LICENSE) |
| [`brotli`](https://github.com/google/brotli)                                                                                                     | MIT                                                                                          |
| [`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                                                                                 |
| [`libuv`](https://github.com/libuv/libuv) (on Windows)                                                                                           | MIT                                                                                          |
| [`libdeflate`](https://github.com/ebiggers/libdeflate)                                                                                           | MIT                                                                                          |
| 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                                                                          |

## Polyfills

For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported.

| 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     |

## 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"!