Skip to content

Bun en sí mismo tiene licencia MIT.

JavaScriptCore

Bun enlaza estáticamente JavaScriptCore (y WebKit) que tiene licencia LGPL-2. Los archivos de WebCore de WebKit también tienen licencia LGPL2. Según LGPL2:

(1) Si te enlazas estáticamente con una biblioteca con licencia LGPL, también debes proporcionar tu aplicación en un formato de objeto (no necesariamente fuente), para que un usuario tenga la oportunidad de modificar la biblioteca y volver a enlazar la aplicación.

Puedes encontrar la versión parcheada de WebKit usada por Bun aquí: https://github.com/oven-sh/webkit. Si deseas volver a enlazar Bun con cambios:

  • git submodule update --init --recursive
  • make jsc
  • zig build

Esto compila JavaScriptCore, compila los enlaces .cpp de Bun para JavaScriptCore (que son los archivos de objeto que usan JavaScriptCore) y genera un nuevo binario bun con tus cambios.

Bibliotecas enlazadas

Bun enlaza estáticamente estas bibliotecas:

BibliotecaLicencia
boringsslvarias licencias
brotliMIT
libarchivevarias licencias
lol-htmlBSD 3-Clause
mimallocMIT
picohttpcon doble licencia bajo la Licencia de Perl o la Licencia MIT
zstdcon doble licencia bajo la Licencia BSD o GPLv2
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-arescon licencia MIT
libicu 72licencia aquí
libbase64BSD 2-Clause
libuv (en Windows)MIT
libdeflateMIT
Una bifurcación de uWebsocketscon licencia Apache 2.0
Partes del código IO de Tigerbeetlecon licencia Apache 2.0

Polyfills

Por razones de compatibilidad, los siguientes paquetes están incrustados en el binario de Bun y se inyectan si se importan.

PaqueteLicencia
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

Créditos adicionales

  • El transpilador JS, el analizador léxico CSS y el código del resolvedor de módulos Node.js de Bun es una portación en Zig del proyecto esbuild de @evanw.
  • ¡Crédito a @kipply por el nombre "Bun"!

Bun por www.bunjs.com.cn editar