# Third-party code

mac-explorer is closed source (see LICENSE); the code below is others'. The app carries this file, with every Rust
crate it links and their licences added, as `Contents/Resources/THIRD_PARTY_NOTICES.txt` (`scripts/notices.py`).

## DigUp

The content-search engine in `engine/` is ported from DigUp's engine (https://github.com/ARahim3/DigUp, 0.6.1):
`engine/csrc/embed.c` from `Sources/LlamaRuntime/LlamaEmbedder.swift` and `ImageSizing.swift`, the Rust modules from
`Sources/DigUpKit`, `scripts/build-llama.sh` and `scripts/llama.cpp-no-logits.patch` from DigUp's `scripts/`, and
`engine/tests/reference/` (the reference vectors and their inputs) from `Tests/LlamaRuntimeTests/Reference/`.
`src-tauri/src/content.rs` adapts the helper-process handling of DigUp's `shell/src-tauri/src/helper.rs` and the
indexing host of `Sources/DigUpApp/Engine.swift`; `mac::open_code` the editor table of `Sources/DigUpApp/CodeEditors.swift`,
and `engine::code::folder_candidates` `Sources/DigUpApp/CodeFolders.swift`.

```
MIT License

Copyright (c) 2026 Abdur Rahim

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

## llama.cpp

The engine links llama.cpp (https://github.com/ggml-org/llama.cpp, tag b11461, with `scripts/llama.cpp-no-logits.patch`)
statically.

```
MIT License

Copyright (c) 2023-2026 The ggml authors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

## FFmpeg

The app ships FFmpeg (https://ffmpeg.org) as a separate program, `mac-explorer.app/Contents/MacOS/ffmpeg`, which it
runs as a child process to make preview MP4s of videos WebKit can't play and to read the frames and sound of files
AVFoundation can't open (docs/engine/00-decisions.md, D13). Nothing of FFmpeg is linked into mac-explorer.

FFmpeg is free software licensed under the GNU Lesser General Public License version 2.1 or later (LGPL-2.1+); its
text is in `licenses/FFmpeg-LGPL-2.1.txt` (FFmpeg's `COPYING.LGPLv2.1`), and the app carries it in
`Contents/Resources/licenses/`. Copyright (c) 2000-2026 the FFmpeg developers (see FFmpeg's `CREDITS` and each file's header).
FFmpeg comes with no warranty.

- Version: release n9.0.2, commit `946fcce07b6dcd0331c8cc609192aeff5e1924f8`, unmodified.
- Source: the tag `n9.0.2` of https://git.ffmpeg.org/ffmpeg.git (mirror: https://github.com/FFmpeg/FFmpeg/tree/n9.0.2),
  also the release archive https://ffmpeg.org/releases/ffmpeg-9.0.2.tar.xz.
- Source offer: the complete source of this build, with `scripts/build-ffmpeg.sh`, is offered for download from the
  same place as the app (`ffmpeg-n9.0.2-source.tar.gz`, beside the app's download).
- Built by `scripts/build-ffmpeg.sh` (macOS 14+, arm64, Xcode clang) as one static executable linking only macOS system
  libraries (libSystem, libz, libbz2, CoreFoundation, CoreMedia, CoreVideo, CoreServices, VideoToolbox,
  AudioToolbox). `configure` said `License: LGPL version 2.1 or later`. Its flags:

```
--disable-gpl --disable-nonfree --disable-version3 --disable-network --disable-autodetect
--disable-doc --disable-ffplay --disable-ffprobe --disable-avdevice --disable-debug
--enable-static --disable-shared --enable-videotoolbox --enable-audiotoolbox --enable-zlib --enable-bzlib
--disable-encoders --enable-encoder=h264_videotoolbox,hevc_videotoolbox,aac,mjpeg,pcm_s16le,mpeg4,wmv2,wmav2
--disable-muxers --enable-muxer=mp4,mov,ipod,pcm_s16le,image2,mjpeg,null,matroska,avi,asf
--disable-filters --enable-filter=scale,fps,aresample,select,setsar,bwdif
--disable-protocols --enable-protocol=file,pipe
--arch=arm64 --cc=clang --pkg-config=false
--extra-cflags=-mmacosx-version-min=14.0 --extra-ldflags=-mmacosx-version-min=14.0
```

To use another FFmpeg build, replace `Contents/MacOS/ffmpeg` (re-sign the app afterwards) or set
`MAC_EXPLORER_FFMPEG` to its path when the app's own copy is missing.

## similar

폴더 비교's line and word differences come from the `similar` crate 2.7 (https://github.com/mitsuhiko/similar),
Apache License 2.0, linked into mac-explorer. Its licence text is in `THIRD_PARTY_NOTICES.txt` with the other crates'.

## SQLite

The content index is SQLite, compiled into the app by the `rusqlite` crate (`bundled`). SQLite is in the public domain
(https://sqlite.org/copyright.html).

## EmbeddingGemma 2

Content search uses Google's EmbeddingGemma 2 model (https://huggingface.co/google/embeddinggemma-2), Apache License
2.0. The app does not include it: it downloads the GGUF conversion `ggml-org/embeddinggemma-2-GGUF` (revision
`bfcd298762cc34d0357ece5ebdd31791a3a374d8`, whose model card says `license: apache-2.0`) from Hugging Face when the
user turns content search on.

## Fluent UI System Icons, Fluent Emoji

Icons from Microsoft's Fluent UI System Icons (https://github.com/microsoft/fluentui-system-icons, Copyright (c) 2020
Microsoft Corporation) and Fluent Emoji (https://github.com/microsoft/fluentui-emoji, Copyright (c) Microsoft
Corporation), both under the MIT License:

```
MIT License

Copyright (c) 2020 Microsoft Corporation
Copyright (c) Microsoft Corporation.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

## rhwp-studio (한글 문서 편집기)

hwp · hwpx 문서를 보고 고치는 화면은 Edward Kim 의 rhwp (https://github.com/edwardkim/rhwp) 에 든 rhwp-studio 입니다.
앱은 이것을 `Contents/Resources/hwp-studio/` 에 웹 페이지로 담고, 문서 엔진은 같은 버전의 npm 패키지 `@rhwp/core`
(Rust 를 WebAssembly 로 빌드한 것, MIT) 를 씁니다. 해밀 탐색기에 링크되지 않은 별도 웹 자원입니다.

- 버전: 태그 `v0.8.7`, 커밋 `1a76570e833917d15817415a53c09ad61ab3203f`. 엔진은 `@rhwp/core@0.8.7`
  (무결성 `sha512-qgNpY9aclCvy9D7cPnpuplu42kUFZCCPhdjAS5HBso4Z4XeHG3uchYdUleQBoas/zEuwfJ7H4/ulepqdL/LXDA==`).
- 빌드: `scripts/build-hwp-studio.sh` 가 위 커밋과 무결성 값을 맞춰 본 뒤 `RHWP_WITHOUT_HWPCTRL=1`,
  `RHWP_DISABLE_EXTERNAL_WEBFONTS=1` 로, 서비스 워커(PWA) 없이 빌드합니다. 바꾼 것은 예제 문서와 타입 정의를 빼고,
  `<head>` 바로 뒤에 보안 정책(CSP) 과 해밀 탐색기의 연결 스크립트 `haemil-bridge.js` 를 넣은 것뿐입니다.
- 함께 담는 고지: `hwp-studio/LICENSE-rhwp.txt`, rhwp 의 서드파티 목록 `hwp-studio/THIRD_PARTY_LICENSES-rhwp.md`
  (엔진에 든 Rust 크레이트), `hwp-studio/fonts/FONTS.md`, `hwp-studio/fonts/SourceHanSerifK-OFL.txt`.
- Quick Look 미리 보기: `Contents/PlugIns/HaemilHwpPreview.appex` 는 같은 커밋의 rhwp 를 Rust 정적 라이브러리
  (`quicklook/`) 로 링크해 쪽을 SVG 로 그립니다. 거기 든 Rust 크레이트는 아래 크레이트 목록에 함께 있습니다.
  쪽을 그림으로 그리는 방식은 golbin 의 HOP (https://github.com/golbin/hop, MIT) 의 Quick Look 확장을 참고했습니다.

```
MIT License

Copyright (c) 2025-2026 Edward Kim

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

편집기 화면에 함께 빌드된 npm 패키지:

- canvaskit-wasm 0.42.0 (https://skia.org, Google 의 Skia 를 WebAssembly 로 빌드한 것), BSD 3-Clause:

```
Copyright (c) 2011 Google Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

--------------------------------------------------------------------------------
```

- @noble/hashes 2.4.0 (https://github.com/paulmillr/noble-hashes), MIT:

```
The MIT License (MIT)

Copyright (c) 2022 Paul Miller (https://paulmillr.com)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.```

### 편집기에 든 웹 글꼴

`hwp-studio/fonts/` 의 글꼴은 문서에 쓰인 글꼴이 없을 때 대신 그리는 데 씁니다 (목록과 출처: `fonts/FONTS.md`).

| 글꼴 | 라이선스 | 출처 |
|------|---------|------|
| Pretendard (9종) | SIL Open Font License 1.1 | https://github.com/orioncactus/pretendard |
| Noto Serif KR (2종), Noto Sans KR (3종) | SIL Open Font License 1.1 | Google Fonts |
| 나눔명조 (3종), 나눔고딕 (3종), 나눔고딕코딩 (2종) | SIL Open Font License 1.1 | Google Fonts (NAVER) |
| 고운바탕 (2종), 고운돋움 | SIL Open Font License 1.1 | Google Fonts |
| D2Coding (2종) | SIL Open Font License 1.1 | https://github.com/naver/d2codingfont |
| 스포카 한 산스 | SIL Open Font License 1.1 | https://github.com/spoqa/spoqa-han-sans |
| Source Han Serif K 옛한글 부분 글꼴 | SIL Open Font License 1.1 (`fonts/SourceHanSerifK-OFL.txt`) | Adobe |
| Latin Modern Math | GUST Font License (https://www.gust.org.pl/projects/e-foundry/licenses) | GUST e-foundry |
| 카페24 써라운드, 카페24 슈퍼매직 | 카페24 무료 배포 글꼴 | https://fonts.cafe24.com |
| 행복고딕 (4종) | 행복나눔재단 무료 배포 글꼴 | 행복나눔재단 |

SIL Open Font License 1.1 의 원문 (각 글꼴의 저작권자는 위 출처에 있습니다):

```
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font
creation efforts of academic and linguistic communities, and to
provide a free and open framework in which fonts may be shared and
improved in partnership with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply to
any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software
components as distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to,
deleting, or substituting -- in part or in whole -- any of the
components of the Original Version, by changing formats or by porting
the Font Software to a new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed,
modify, redistribute, and sell modified and unmodified copies of the
Font Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components, in
Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the
corresponding Copyright Holder. This restriction only applies to the
primary font name as presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created using
the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
```
