Bun

授權

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多種授權
brotliMIT
libarchive多種授權
lol-htmlBSD 3 條款
mimallocMIT
picohttp採用 Perl 授權或 MIT 授權的雙重授權
zstd採用 BSD 授權或 GPLv2 授權的雙重授權
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-ares採用 MIT 授權
libicu 72授權在此處
libbase64BSD 2 條款
uWebsockets 的分支採用 Apache 2.0 授權
Tigerbeetle 的 IO 程式碼 的部分採用 Apache 2.0 授權

Polyfills

出於相容性考量,下列套件會嵌入 Bun 的二進位檔中,並在匯入時注入。

其他貢獻者

  • Bun 的 JS 轉譯器、CSS 詞法分析器和 Node.js 模組解析器原始碼是 @evanwesbuild 專案的 Zig 移植。
  • 感謝 @kipply 提供「Bun」這個名稱!