Files
bun.sh/docs/project/licensing.md
Colin McDonnell f54300578b Add documentation (#2148)
* Add documentation

* Tweaks

* Fixes

* Rearrange

* Update
2023-02-23 17:13:30 -08:00

3.9 KiB
Raw Blame History

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

This compiles JavaScriptCore, compiles Buns .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





  • picohttp
  • dual-licensed under the Perl License or the MIT License







{% /table %}

Polyfills

For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported.

{% table %}

  • Package
  • License





















{% /table %}

Additional credits

  • Bun's JS transpiler, CSS lexer, and Node.js module resolver source code is a Zig port of @evanws esbuild project.
  • Credit to @kipply for the name "Bun"!