diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0206d2e994..0000000000 --- a/LICENSE +++ /dev/null @@ -1,224 +0,0 @@ -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) - ---- - ---- - -- [`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) - ---- - -- 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"! diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000..719bf08d76 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,71 @@ +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: + +| 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 | +| 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"! \ No newline at end of file diff --git a/docs/project/licensing.md b/docs/project/licensing.md index 30cff7403d..f0608a63ae 120000 --- a/docs/project/licensing.md +++ b/docs/project/licensing.md @@ -1 +1 @@ -../../LICENSE \ No newline at end of file +../../LICENSE.md \ No newline at end of file