核实于 2026-07-19。分发或商业化前必读——本项目自身的许可证选择取决于 是否继续使用下列 AGPL 组件,决策依据见
未来路线图.md第二节。
| 组件 | 用途 | 许可证 | 商用(闭源分发) |
|---|---|---|---|
| pdfplumber | PDF 解析(文字/坐标/字号/颜色) | MIT | ✅ 允许 |
| pypdf | 页面合并、双语拼页 | BSD | ✅ 允许 |
| reportlab(开源版) | 兜底回填后端 | BSD | ✅ 允许 |
| requests | HTTP 客户端 | Apache 2.0 | ✅ 允许 |
| rapidocr-onnxruntime | 扫描版 OCR | Apache 2.0 | ✅ 允许 |
| onnxruntime | 模型推理 | MIT | ✅ 允许 |
| Pillow / numpy / opencv-python | 图像处理 | HPND / BSD / Apache 2.0 | ✅ 允许 |
| fonttools | 字体子集化 | MIT | ✅ 允许 |
| python-docx | Word 文档翻译 | MIT | ✅ 允许 |
| python-pptx | PowerPoint 翻译 | MIT | ✅ 允许 |
| pywebview | 原生应用窗口(可选) | BSD | ✅ 允许 |
| PyMuPDF (fitz) | 首选回填后端(精确抹除/公式回贴) | AGPL-3.0 | |
| DocLayout-YOLO 模型 | 可选版面分析(表格/图区) | AGPL-3.0 |
AGPL 的网络条款:即使不分发安装包、仅以在线服务提供,也同样触发开源义务。
| 资源 | 说明 |
|---|---|
web/themes/*/theme.css 中的吉祥物 SVG |
本项目原创绘制,风格化表达,未使用任何受版权保护的现成角色形象 |
glossary/cs_terms.csv |
本项目自建术语表 |
| reportlab 内置 STSong-Light / PyMuPDF 内置 china-ss | 随各自库分发的 CJK 字体 |
fonts/(可选) |
用户自备字体;若打算随产品分发思源系列,须遵守 SIL OFL(允许商用,需保留声明) |
- PyMuPDF 的使用已集中在
src/pdf_writer_fitz.py、src/layout_model.py、src/ocr.py(渲染位图)与samples/make_scanned.py,其余模块不直接依赖;pipeline.pick_backend()已具备"缺失即回退 reportlab"的完整路径。 - 版面模型为纯可选:删除
models/下的 .onnx 文件即自动停用。 - 因此切换到全宽松许可栈是可行的,主要工作量在提升 reportlab 后端质量 (路线 B / 方向四 D3)。
已确定:AGPL-3.0(2026-07-19 采纳路线 A「开源 + 增值服务」)。
- 许可证全文:仓库根目录
LICENSE(SPDX: AGPL-3.0) - 版权与合规说明:根目录
NOTICE.md - 因链接 AGPL-3.0 的 PyMuPDF 与 DocLayout-YOLO,本项目必须采用兼容的 AGPL-3.0;这与"开源 + 增值服务"的商业模式一致。
据此确立的红线(后续开发必须遵守):
- 任何分发版本、任何联网提供的服务,都必须附带完整源代码(AGPL 第 13 条对 网络服务同样生效)。
- 不得以闭源形式分发本产品。若将来确需闭源,须先完成"移除 AGPL 组件" 的改造(见路线 B / 方向四 D3),或购买 Artifex 与 Ultralytics 的商业授权。
- 新引入依赖前先核许可:优先选择 MIT / BSD / Apache 2.0;引入新的强 copyleft 组件前须评估其对分发方式的影响,并更新本文件。