* just kernel32 things * more * Update linux_c.zig * Update windows_c.zig * Add workaround Workaround https://github.com/ziglang/zig/issues/16980 * Rename http.zig to bun_dev_http_server.zig * Rename usages * more * more * more * thanks tigerbeetle * Rename `JSC.Node.Syscall` -> `bun.sys` * more * woops * more! * hmm * it says there are only 37 errors, but that's not true * populate argv * it says 32 errors! * 24 errors * fix regular build * 12 left! * Still 12 left! * more * 2 errors left... * 1 more error * Add link to Tigerbeetle * Fix the remainign error * Fix test timeout * Update syscall.zig --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
4.3 KiB
Bun itself is MIT-licensed.
JavaScriptCore
Bun statically links JavaScriptCore (and WebKit) which is LGPL-2 licensed. WebCore files from WebKit are also licensed under LGPL2. Per LGPL2:
(1) If you statically link against an LGPL’d library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application.
You can find the patched version of WebKit used by Bun here: https://github.com/oven-sh/webkit. If you would like to relink Bun with changes:
git submodule update --init --recursivemake jsczig build
This compiles JavaScriptCore, compiles Bun’s .cpp bindings for JavaScriptCore (which are the object files using JavaScriptCore) and outputs a new bun binary with your changes.
Linked libraries
Bun statically links these libraries:
{% table %}
- Library
- License
lol-html- BSD 3-Clause
mimalloc- MIT
picohttp- dual-licensed under the Perl License or the MIT License
zstd- dual-licensed under the BSD License or GPLv2 license
simdutf- Apache 2.0
tinycc- LGPL v2.1
uSockets- Apache 2.0
zlib-cloudflare- zlib
c-ares- MIT licensed
libbase64- BSD 2-Clause
- A fork of
uWebsockets - Apache 2.0 licensed
- Parts of Tigerbeetle's IO code
532c8b70b9/src/io/windows.zig (L1) - Apache 2.0 licensed
{% /table %}
Polyfills
For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported.
{% table %}
- Package
- License
assert- MIT
browserify-zlib- MIT
buffer- MIT
domain-browser- MIT
events- MIT
https-browserify- MIT
os-browserify- MIT
path-browserify- MIT
process- MIT
punycode- MIT
querystring-es3- MIT
stream-http- MIT
string_decoder- MIT
tty-browserify- MIT
url- MIT
util- MIT
vm-browserify- MIT
{% /table %}