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-Clause |
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 |