Bun 自体は MIT ライセンスです。
JavaScriptCore
Bun は JavaScriptCore(および WebKit)を静的にリンクしており、これは LGPL-2 ライセンスです。WebKit からの WebCore ファイルも LGPL2 の下でライセンスされています。LGPL2 によると:
(1)LGPL ライブラリを静的にリンクする場合は、アプリケーションをオブジェクト(必ずしもソースである必要はない)形式でも提供し、ユーザーがライブラリを変更してアプリケーションを再リンクする機会を提供する必要があります。
Bun が使用する WebKit のパッチ適用バージョンは、こちらで見つけることができます:https://github.com/oven-sh/webkit。Bun を変更して再リンクする場合は:
git submodule update --init --recursivemake jsczig build
これにより、JavaScriptCore がコンパイルされ、JavaScriptCore 用の Bun の .cpp バインディング(JavaScriptCore を使用するオブジェクトファイル)がコンパイルされ、変更を加えた新しい bun バイナリが出力されます。
リンクされたライブラリ
Bun はこれらのライブラリを静的にリンクしています:
| ライブラリ | ライセンス |
|---|---|
boringssl | 複数のライセンス |
brotli | MIT |
libarchive | 複数のライセンス |
lol-html | BSD 3-Clause |
mimalloc | MIT |
picohttp | Perl ライセンスまたは MIT ライセンスのデュアルライセンス |
zstd | BSD ライセンスまたは GPLv2 ライセンスのデュアルライセンス |
simdutf | Apache 2.0 |
tinycc | LGPL v2.1 |
uSockets | Apache 2.0 |
zlib-cloudflare | zlib |
c-ares | MIT ライセンス |
libicu 72 | ライセンスはこちら |
libbase64 | BSD 2-Clause |
libuv(Windows 上) | MIT |
libdeflate | MIT |
uWebsockets のフォーク | Apache 2.0 ライセンス |
| Tigerbeetle の IO コードの一部 | Apache 2.0 ライセンス |
ポリフィル
互換性の理由から、以下のパッケージは Bun のバイナリに埋め込まれ、インポートされた場合に注入されます。
| パッケージ | ライセンス |
|---|---|
assert | MIT |
browserify-zlib | MIT |
buffer | MIT |
constants-browserify | MIT |
crypto-browserify | MIT |
domain-browser | MIT |
events | MIT |
https-browserify | MIT |
os-browserify | MIT |
path-browserify | MIT |
process | MIT |
punycode | MIT |
querystring-es3 | MIT |
stream-browserify | MIT |
stream-http | MIT |
string_decoder | MIT |
timers-browserify | MIT |
tty-browserify | MIT |
url | MIT |
util | MIT |
vm-browserify | MIT |