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 條款 |
uWebsockets 的分支 | 採用 Apache 2.0 授權 |
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 |