Bun 자체는 MIT 라이선스를 따릅니다.
JavaScriptCore
Bun 은 LGPL-2 라이선스인 JavaScriptCore(및 WebKit) 를 정적으로 링크합니다. WebKit 의 WebCore 파일도 LGPL2 라이선스를 따릅니다. LGPL2 에 따르면:
(1) LGPL 라이선스 라이브러리를 정적으로 링크하는 경우, 사용자가 라이브러리를 수정하고 애플리케이션을 다시 링크할 수 있도록 애플리케이션을 객체 (반드시 소스는 아님) 형식으로 제공해야 합니다.
Bun 이 사용하는 패치된 WebKit 버전은 여기에서 찾을 수 있습니다: https://github.com/oven-sh/webkit. Bun 을 변경 사항과 함께 다시 링크하려면:
git submodule update --init --recursivemake jsczig build
이것은 JavaScriptCore 를 컴파일하고, JavaScriptCore 를 사용하는 Bun 의 .cpp 바인딩을 컴파일하며, 변경 사항이 포함된 새로운 bun 바이너리를 출력합니다.
링크된 라이브러리
Bun 은 다음 라이브러리를 정적으로 링크합니다.
| 라이브러리 | 라이선스 |
|---|---|
boringssl | 여러 라이선스 |
brotli | MIT |
libarchive | 여러 라이선스 |
lol-html | BSD 3-Clause |
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 |
libuv (Windows 에서) | MIT |
libdeflate | MIT |
uWebsockets 포크 | Apache 2.0 라이선스 |
| Tigerbeetle 의 IO 코드 일부 | Apache 2.0 라이선스 |
폴리필
호환성 이유로 다음 패키지는 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 |