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 --recursivemake jsczig 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:
| Biblioteca | Licencia |
|---|---|
boringssl | varias licencias |
brotli | MIT |
libarchive | varias licencias |
lol-html | BSD 3-Clause |
mimalloc | MIT |
picohttp | con doble licencia bajo la Licencia de Perl o la Licencia MIT |
zstd | con doble licencia bajo la Licencia BSD o GPLv2 |
simdutf | Apache 2.0 |
tinycc | LGPL v2.1 |
uSockets | Apache 2.0 |
zlib-cloudflare | zlib |
c-ares | con licencia MIT |
libicu 72 | licencia aquí |
libbase64 | BSD 2-Clause |
libuv (en Windows) | MIT |
libdeflate | MIT |
Una bifurcación de uWebsockets | con licencia Apache 2.0 |
| Partes del código IO de Tigerbeetle | con 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.
| Paquete | Licencia |
|---|---|
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 |