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 條款
libuv (在 Windows 上)MIT
libdeflateMIT
一個 uWebsockets 的分支以 Apache 2.0 授權條款授權
Tigerbeetle 的 IO 程式碼 的一部分以 Apache 2.0 授權條款授權

Polyfill

基於相容性考量,以下套件會嵌入到 Bun 的二進制檔案中,並在匯入時注入。

額外貢獻

  • Bun 的 JS 轉譯器、CSS 詞法分析器和 Node.js 模組解析器原始碼是 @evanwesbuild 專案的 Zig 移植版本。
  • 感謝 @kipply 命名 "Bun"!