Files
bun.sh/docs/project/licensing.md
Jarred Sumner e5bd7fcb8f Add brotli test (#7976)
* Add brotli test

* Check if we can use brotli

* vendor brotli

* Update .gitattributes

* Brotli is now always available

* Update licensing.md

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2024-01-03 21:57:19 -08:00

4.4 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

  • zstd
  • dual-licensed under the BSD License or GPLv2 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"!