オープンソースライセンス
FileFitは、第三者のオープンソースソフトウェア(OSS)を利用して構築されています。ここでは、実際にFileFitのブラウザ向け配布物(サイト・Web Worker)に含まれるソフトウェア、およびビルド時にのみ使用するソフトウェアについて、名称・バージョン・用途・ライセンス・著作権表示・公式ソースの所在を掲載します。各ライセンスの全文は、下記の各項目からリンクしているテキストファイルでご確認いただけます。
HEICデコード(HEIC/HEIF → JPG変換)
FileFitは、HEIC/HEIF画像のデコードに@discourse/heic(バージョン1.0.0)を使用しています。このパッケージ本体はApache License 2.0で提供されるラッパーですが、実際にブラウザへ配布されるHEICデコード用WebAssembly(heic_dec.wasm)には、libheif(バージョン1.19.7)とlibde265(バージョン1.0.15)が含まれています。libheif・libde265のライブラリ本体はいずれもGNU Lesser General Public License version 3(LGPL v3)で提供されており、上流のビルドスクリプト(Makefile)上ではこの2つのライブラリを静的リンクして単一のWASMファイルを生成しています。ビルド設定上、x265等のHEICエンコーダーや他の動画コーデックは含まれておらず、FileFitはHEIC画像のデコード(読み込み)のみを行い、HEIC形式でのエンコード(書き出し)は行っていません。FileFit自身のコードは、このパッケージが公開しているdecode()関数を呼び出すのみで、WASMバイナリ・JSラッパーのいずれも改変していないことを確認しています。
libheif・libde265(LGPL v3)に対応するsource packageとして、filefit-heic-decoder-1.0.0-source.tar.gzを提供しています。このpackageには、上記exact version(libheif 1.19.7・libde265 1.0.15・jSquash該当commit)に対応するsource一式、再ビルド手順、libheif・libde265それぞれの改変版library再リンク手順を含みます。このpackageはFileFitの技術・ライセンス自己レビューに基づくもので、外部法律専門家による確認、法的助言、法的十分性の保証を意味しません。LGPL対応が完了したことも断定しません。技術的に何を実証済み・未実証としているかの詳細は、package内のREADME.mdをご確認ください。
対応するWASMをFileFitが配信している間、対応するこのsource packageも同じ場所で無料公開を継続します。バージョンを更新した場合は、新しいバージョン番号付きのpackageを別途公開します。
@discourse/heic
- バージョン
- 1.0.0
- 用途
- HEIC/HEIFデコードWASMのJSラッパー(jSquash由来)
- ライセンス
- Apache License 2.0
- 著作権表示
- Copyright [2023] jamsinclair
- 公式ソース
- GitHub: discourse/jSquash
- ライセンス全文
- Apache License 2.0 全文
libheif
- バージョン
- 1.19.7(HEICデコードWASMに静的リンクして含まれる)
- 用途
- HEIF/HEICコンテナの処理
- ライセンス
- GNU Lesser General Public License v3(ライブラリ本体)
- 公式ソース
- GitHub: strukturag/libheif(v1.19.7)
- ライセンス全文
- GNU LGPL v3 全文(GPL v3を参照するためGNU GPL v3 全文もあわせて掲載)
libde265
- バージョン
- 1.0.15(HEICデコードWASMに静的リンクして含まれる)
- 用途
- HEVC(H.265)デコード
- ライセンス
- GNU Lesser General Public License v3(ライブラリ本体)
- 公式ソース
- GitHub: strukturag/libde265(v1.0.15)
- ライセンス全文
- GNU LGPL v3 全文(GPL v3を参照するためGNU GPL v3 全文もあわせて掲載)
Emscripten runtime(HEICデコードWASMのビルドツールチェーン)
- バージョン
- 3.1.57
- 用途
- HEICデコードWASM(
heic_dec.wasm)は、上記のEmscripten 3.1.57でビルドされています。生成されるJSラッパー(heic_dec.js)には、Emscriptenのruntime補助コードが含まれます。Emscripten本体・musl libcのソース一式はこのサイト・source packageのいずれにも同梱していません(理由の詳細はsource package内のREADME.mdを参照) - ライセンス
- MIT License / University of Illinois-NCSA Open Source License(Emscripten本体)、MIT License(musl libc)
- 公式ソース
- GitHub: emscripten-core/emscripten
- ライセンス全文
- Emscripten LICENSE 全文・musl COPYRIGHT 全文
より詳細な構成要素(libc++・libc++abi等)の技術的な内訳はTHIRD_PARTY_NOTICES.md、および対応ソースpackageのSOURCE-METADATA.json・LICENSE-MAP.mdをご確認ください。
PNG圧縮
FileFitは、PNG画像の指定容量圧縮に@upng/upng-js(バージョン2.2.2)を使用しています。このパッケージは、PhotopeaによるオリジナルのUPNG.jsを、webLiangが別のnpmスコープ(@upng/upng-js)として公開したものです。ライセンス本文・著作権表示はオリジナルと一致しています。エンコード処理の一部でpako(バージョン2.2.0)を利用しています。
@upng/upng-js
- バージョン
- 2.2.2
- 用途
- PNGエンコード(Web Worker内、動的読み込み)
- ライセンス
- MIT License
- 著作権表示
- Copyright (c) 2017 Photopea
- 公式ソース(npm配布元)
- GitHub: webLiang/UPNG.js
- オリジナルプロジェクト
- GitHub: photopea/UPNG.js
- ライセンス全文
- MIT License 全文
pako
- バージョン
- 2.2.0
- 用途
- PNGエンコード処理内でのdeflate圧縮(@upng/upng-js経由)
- ライセンス
- MIT License
- 著作権表示
- Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
- 公式ソース
- GitHub: nodeca/pako
- ライセンス全文
- MIT License 全文
UIランタイム(Preactコンポーネントをclient:loadで読み込むページのみ)
トップページと6つのツールページ(/heic-to-jpg・/compress-image・/compress-image-to-500kb・/remove-exif・/png-to-webp・/compress-png、あわせて7ページ)は、Preactコンポーネントをclient:loadで読み込むため、Preact本体とAstro Islandクライアントランタイム(下記)がブラウザへ配布されます。このページ(/licenses)と404ページは、これらのJavaScriptを一切読み込まない静的なHTML・CSSのみのページです。
preact
- バージョン
- 10.29.7
- 用途
- UIランタイム(上記7ページで配布)
- ライセンス
- MIT License
- 著作権表示
- Copyright (c) 2015-present Jason Miller
- 公式ソース
- GitHub: preactjs/preact
- ライセンス全文
- MIT License 全文
Astro Islandクライアントランタイム
- バージョン
- Astro 7.1.3由来(
client.jsとしてビルドされる部分) - 用途
- 上記7ページで、
client:load指定されたPreactコンポーネントの起動・hydrationを行う。Astro本体のうち、静的HTML生成・コンパイルを行う部分(下記「ビルドツール」)とは異なり、この部分のみがブラウザへ配布される - ライセンス
- MIT License
- 著作権表示
- Copyright (c) 2021 Fred K. Schott
- 公式ソース
- GitHub: withastro/astro
- ライセンス全文
- MIT License 全文
@astrojs/preact
- バージョン
- 6.0.1
- 用途
- Astro⇔Preact統合。ビルド構成(Vite連携等)に加え、上記Astro Islandクライアントランタイムの一部としてブラウザへ配布される
- ライセンス
- MIT License
- 著作権表示
- Copyright (c) 2021 Fred K. Schott
- 公式ソース
- GitHub: withastro/astro(packages/integrations/preact)
- ライセンス全文
- MIT License 全文
@preact/signals・@preact/signals-core
- バージョン
- @preact/signals 2.10.0 / @preact/signals-core 1.14.4
- 用途
- Astro Islandクライアントランタイムが、Preact Signalsを使ったpropsを持つコンポーネントの起動時にのみ動的読み込みする状態管理ライブラリ。ビルド成果物には含まれますが、2026年7月時点のFileFitのコンポーネントはPreact Signalsを使ったpropsを渡していないため、実際のページ読み込み時にはこのモジュールは読み込まれないことを、実ブラウザのNetworkログで確認しています
- ライセンス
- MIT License
- 著作権表示
- Copyright (c) 2022-present Preact Team
- 公式ソース
- GitHub: preactjs/signals
- ライセンス全文
- MIT License 全文
ビルドツール(静的HTML生成・コンパイル部分)
以下は、サイトを静的HTMLとして生成するビルド時に使用されるAstroの機能です。Astroパッケージ全体がブラウザへ配布されるわけではありませんが、client:loadを使う7ページでは、同じAstroパッケージ由来の「Astro Islandクライアントランタイム」(上記「UIランタイム」の節を参照)がブラウザへ配布されます。
Astro(静的サイト生成・コンパイラ部分)
- バージョン
- 7.1.3
- 用途
- 静的HTML生成・コンパイル(ビルド時のみ実行、ブラウザへは配布されない)
- ライセンス
- MIT License
- 公式ソース
- GitHub: withastro/astro
- ライセンス全文
- MIT License 全文