# NOTICE

## 参考的开源项目

本项目是依据 **Hunspell** 的 `.aff` / `.dic` 文件格式规范与可观察行为**独立实现**的
MoonBit 拼写检查库。**本项目未复制 Hunspell 的源代码。**

| 项目 | 链接 | 许可证 | 本项目参考的范围 |
|---|---|---|---|
| Hunspell | https://github.com/hunspell/hunspell | LGPL-2.1 | `.aff` / `.dic` 文件格式；词缀规则（PFX/SFX）语义；特殊 flag 语义；建议结果的可观察行为 |

参考范围说明：

- **仅参考**文件格式规范、规则的语义定义，以及公开可观察的输入/输出行为。
- **未**复制、翻译或改写 Hunspell 的 C++ 实现代码。
- 本项目选择 Apache-2.0 许可证。由于未包含 Hunspell 的衍生代码，
  LGPL-2.1 的传染性条款不适用于本项目源码。
- 若未来有代码参考自 Hunspell 实现，该部分将单独标注并按 LGPL-2.1 处理。

## 测试语料

`conformance/` 下的符合率测试使用 Hunspell 官方仓库 `tests/` 目录中的测试语料
（`.aff` / `.dic` / `.good` / `.wrong` / `.sug`，随 Hunspell 以 LGPL-2.1 发布）。

**该语料不随本仓库分发。** 符合率脚本在 CI 运行时将其克隆到临时目录，仅用于生成
通过率报告。这样做是为了避免在 Apache-2.0 项目中再分发 LGPL-2.1 授权的文件。

## 词典

示例中使用的词典均标注其来源与许可证，见 `examples/` 与各词典目录下的说明。

`bench/run.sh`、`conformance/differential.sh` 与 `examples/doccheck` 都会在**运行时**
把 `en_US`（LibreOffice `dictionaries` 项目，源自 SCOWL）拉取到**临时目录**，
用完即删，**不写进本仓库**。SCOWL / Kevin Atkinson 的许可与部分来源的 Ispell BSD
与 WordNet 声明见上游的 `README_en_US.txt`。

## 第三方依赖

见 `moon.mod` 的 `import` 段与 `moon tree` 输出。
