Move docs/project/licensing.md to LICENSE so it's easier for people to find it

Fixes #241
This commit is contained in:
Jarred Sumner
2024-05-16 03:49:08 -07:00
parent 2fb0a5e311
commit d55ac0fa43
2 changed files with 230 additions and 229 deletions

229
LICENSE Normal file
View File

@@ -0,0 +1,229 @@
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 LGPLd 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>. If you would like to relink Bun with changes:
- `git submodule update --init --recursive`
- `make jsc`
- `zig build`
This compiles JavaScriptCore, compiles Buns `.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)
---
- [`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"!

View File

@@ -1,229 +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 LGPLd 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>. If you would like to relink Bun with changes:
- `git submodule update --init --recursive`
- `make jsc`
- `zig build`
This compiles JavaScriptCore, compiles Buns `.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)
---
- [`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"!

1
docs/project/licensing.md Symbolic link
View File

@@ -0,0 +1 @@
../../LICENSE