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,編譯 Bun 的 `.cpp` 繫結到 JavaScriptCore(即使用 JavaScriptCore 的物件檔案),並輸出一個新的 `bun` 二進位制檔案,其中包含您的更改。
連結的庫
Bun 靜態連結以下庫
| 庫 | 許可證 |
|---|---|
boringssl | 多種許可證 |
brotli | MIT |
libarchive | 多種許可證 |
lol-html | BSD 3-Clause |
mimalloc | MIT |
picohttp | 雙重許可,使用 Perl License 或 MIT License |
zstd | 雙重許可,使用 BSD License 或 GPLv2 license |
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 程式碼的某些部分 Tigerbeetle 的 IO 程式碼 | Apache 2.0 許可 |
Polyfills
出於相容性原因,以下包已嵌入到 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 |