Bun lui-même est sous licence MIT.
JavaScriptCore
Bun lie statiquement JavaScriptCore (et WebKit) qui est sous licence LGPL-2. Les fichiers WebCore de WebKit sont également sous licence LGPL2. Selon LGPL2 :
(1) Si vous liez statiquement contre une bibliothèque sous licence LGPL, vous devez également fournir votre application dans un format objet (pas nécessairement source), afin qu'un utilisateur ait la possibilité de modifier la bibliothèque et de relinker l'application.
Vous pouvez trouver la version patchée de WebKit utilisée par Bun ici : https://github.com/oven-sh/webkit. Si vous souhaitez relinker Bun avec des modifications :
git submodule update --init --recursivemake jsczig build
Cela compile JavaScriptCore, compile les liaisons .cpp de Bun pour JavaScriptCore (qui sont les fichiers objets utilisant JavaScriptCore) et produit un nouveau binaire bun avec vos modifications.
Bibliothèques liées
Bun lie statiquement ces bibliothèques :
| Bibliothèque | Licence |
|---|---|
boringssl | plusieurs licences |
brotli | MIT |
libarchive | plusieurs licences |
lol-html | BSD 3-Clause |
mimalloc | MIT |
picohttp | double licence sous licence Perl ou licence MIT |
zstd | double licence sous licence BSD ou GPLv2 |
simdutf | Apache 2.0 |
tinycc | LGPL v2.1 |
uSockets | Apache 2.0 |
zlib-cloudflare | zlib |
c-ares | sous licence MIT |
libicu 72 | licence ici |
libbase64 | BSD 2-Clause |
libuv (sur Windows) | MIT |
libdeflate | MIT |
Un fork de uWebsockets | sous licence Apache 2.0 |
| Des parties du code IO de Tigerbeetle | sous licence Apache 2.0 |
Polyfills
Pour des raisons de compatibilité, les packages suivants sont intégrés dans le binaire de Bun et injectés s'ils sont importés.
| Package | Licence |
|---|---|
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 |