Skip to content

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 --recursive
  • make jsc
  • zig build

이것은 JavaScriptCore 를 컴파일하고, JavaScriptCore 를 사용하는 Bun 의 .cpp 바인딩을 컴파일하며, 변경 사항이 포함된 새로운 bun 바이너리를 출력합니다.

링크된 라이브러리

Bun 은 다음 라이브러리를 정적으로 링크합니다.

라이브러리라이선스
boringssl여러 라이선스
brotliMIT
libarchive여러 라이선스
lol-htmlBSD 3-Clause
mimallocMIT
picohttpPerl 라이선스 또는 MIT 라이선스 듀얼 라이선스
zstdBSD 라이선스 또는 GPLv2 라이선스 듀얼 라이선스
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 코드 일부Apache 2.0 라이선스

폴리필

호환성 이유로 다음 패키지는 Bun 의 바이너리에 임베드되며 가져올 때 주입됩니다.

패키지라이선스
assertMIT
browserify-zlibMIT
bufferMIT
constants-browserifyMIT
crypto-browserifyMIT
domain-browserMIT
eventsMIT
https-browserifyMIT
os-browserifyMIT
path-browserifyMIT
processMIT
punycodeMIT
querystring-es3MIT
stream-browserifyMIT
stream-httpMIT
string_decoderMIT
timers-browserifyMIT
tty-browserifyMIT
urlMIT
utilMIT
vm-browserifyMIT

추가 크레딧

  • Bun 의 JS 트랜스파일러, CSS 렉서 및 Node.js 모듈 리졸버 소스 코드는 @evanwesbuild 프로젝트를 Zig 로 이식한 것입니다.
  • "Bun"이라는 이름은 @kipply 에게서 유래했습니다!

Bun by www.bunjs.com.cn 편집