Skip to content

Bun 自体は MIT ライセンスです。

JavaScriptCore

Bun は JavaScriptCore(および WebKit)を静的にリンクしており、これは LGPL-2 ライセンスです。WebKit からの WebCore ファイルも LGPL2 の下でライセンスされています。LGPL2 によると:

(1)LGPL ライブラリを静的にリンクする場合は、アプリケーションをオブジェクト(必ずしもソースである必要はない)形式でも提供し、ユーザーがライブラリを変更してアプリケーションを再リンクする機会を提供する必要があります。

Bun が使用する WebKit のパッチ適用バージョンは、こちらで見つけることができます:https://github.com/oven-sh/webkit。Bun を変更して再リンクする場合は:

  • git submodule update --init --recursive
  • make jsc
  • zig build

これにより、JavaScriptCore がコンパイルされ、JavaScriptCore 用の Bun の .cpp バインディング(JavaScriptCore を使用するオブジェクトファイル)がコンパイルされ、変更を加えた新しい bun バイナリが出力されます。

リンクされたライブラリ

Bun はこれらのライブラリを静的にリンクしています:

ライブラリライセンス
boringssl複数のライセンス
brotliMIT
libarchive複数のライセンス
lol-htmlBSD 3-Clause
mimallocMIT
picohttpPerl ライセンスまたは MIT ライセンスのデュアルライセンス
zstdBSD ライセンスまたは GPLv2 ライセンスのデュアルライセンス
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-aresMIT ライセンス
libicu 72ライセンスはこちら
libbase64BSD 2-Clause
libuv(Windows 上)MIT
libdeflateMIT
uWebsockets のフォークApache 2.0 ライセンス
Tigerbeetle の IO コードの一部Apache 2.0 ライセンス

ポリフィル

互換性の理由から、以下のパッケージは Bun のバイナリに埋め込まれ、インポートされた場合に注入されます。

パッケージライセンス
assertMIT
browserify-zlibMIT
bufferMIT
constants-browserifyMIT
crypto-browserifyMIT
domain-browserMIT
eventsMIT
https-browserifyMIT
os-browserifyMIT
path-browserifyMIT
processMIT
punycodeMIT
querystring-es3MIT
stream-browserifyMIT
stream-httpMIT
string_decoderMIT
timers-browserifyMIT
tty-browserifyMIT
urlMIT
utilMIT
vm-browserifyMIT

追加のクレジット

  • Bun の JS トランスパイラー、CSS レキサー、および Node.js モジュールリゾルバーのソースコードは、@evanwesbuild プロジェクトの Zig ポートです。
  • 「Bun」という名前は @kipply によるものです!

Bun by www.bunjs.com.cn 編集