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 的 `.cpp` 绑定到 JavaScriptCore(即使用 JavaScriptCore 的对象文件),并输出一个新的 `bun` 二进制文件,其中包含您的更改。

链接的库

Bun 静态链接以下库

许可证
boringssl多种许可证
brotliMIT
libarchive多种许可证
lol-htmlBSD 3-Clause
mimallocMIT
picohttp双重许可,使用 Perl License 或 MIT License
zstd双重许可,使用 BSD License 或 GPLv2 license
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-aresMIT 许可
libicu 72许可证在此处
libbase64BSD 2-Clause
libuv (在 Windows 上)MIT
libdeflateMIT
uWebsockets 的一个分支Apache 2.0 许可
Tigerbeetle 的 IO 代码的某些部分 Tigerbeetle 的 IO 代码Apache 2.0 许可

Polyfills

出于兼容性原因,以下包已嵌入到 Bun 的二进制文件中,并在导入时注入。

附加致谢

  • Bun 的 JS 转译器、CSS 词法分析器和 Node.js 模块解析器的源代码是 @evanw 的 @evanwesbuild 项目的 Zig 移植。
  • 感谢 @kipply 提供“Bun”这个名字!