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 --recursive
make jsc
zig build
這會編譯 JavaScriptCore,編譯 Bun 的 JavaScriptCore .cpp 綁定(這些是使用 JavaScriptCore 的物件檔案),並輸出一個包含您的變更的新 bun 二進制檔案。
連結的函式庫
Bun 靜態連結了這些函式庫
函式庫 | 授權條款 |
---|---|
boringssl | 多種授權條款 |
brotli | MIT |
libarchive | 多種授權條款 |
lol-html | BSD 3 條款 |
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 條款 |
libuv (在 Windows 上) | MIT |
libdeflate | MIT |
一個 uWebsockets 的分支 | 以 Apache 2.0 授權條款授權 |
Tigerbeetle 的 IO 程式碼 的一部分 | 以 Apache 2.0 授權條款授權 |
Polyfill
基於相容性考量,以下套件會嵌入到 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 |