跳转至

License & Attribution

QuantumAtlas 自己的代码 / 文档 / Wiki 内容 license 见 致谢 · 许可证 段。本文档讲外部上游数据源的 license 归属和我们的合规策略。

我们怎么处理"PDF + metadata + 全文"三类数据

数据类别 来源 我们持有 / 分发? 用户拿到什么
论文 PDF 字节 arxiv.org(作者保留版权) ⚠️ 默认不分发 qatlasd 默认无 PDF 下载 APIQATLAS_PAPER_ACCESS_ENABLED=false);从 arxiv.org 自行下载。Self-hosted 部署可在受控范围内启用对内下载,详见下文「论文访问开关」
论文 metadata(标题 / 作者 / DOI / 引用 / 发表日期 等) OpenAlex(CC0)+ Crossref(CC0) ✅ 镜像 + Neo4j MERGE 公开 API 返回,CC0 transitively 公开
MinerU 解析后的 Markdown 全文 由部署方用自己的 MinerU quota 从 PDF 转换 ✅ 缓存在 qatlas-md 同上开关控制:默认仅供 server 内部检索;启用后可对持 papers:read 的客户端 serve markdown 字节
Wiki 知识页面(概念 / 算法 / paper 笔记) 团队 + 贡献者撰写 ✅ 在独立 QuantumAtlas-Wiki repo require login(同上)

核心合规设计

默认不分发 PDF 字节 + metadata 来自 CC0 上游 + Markdown 默认不通过 API 外发
  → 论文 license 风险在 quantum-atlas.ai 这类公开实例上天然规避
  → self-hosted 部署若开启论文访问开关,由部署方自行承担分发义务

这意味着 quantum-atlas.ai 这类公开实例不需要在 ingest 时检查每篇论文的 license(许多 arxiv 论文是"作者保留版权 + 授予 arxiv 永久非排他分发权",license 字段在 OpenAlex 里统一记录)。靠"默认不持 字节面向公网 + 默认不外发全文"两条规则在源头规避,比 per-paper license 匹配可靠得多。

Self-hosters 注意:若你把 QATLAS_PAPER_ACCESS_ENABLED 设为 true(见 论文访问开关),server 会开始通过 HTTP API 对外 serve PDF / Markdown 字节,原生的"源头规避"就不再适用—— 此时部署方需要自己评估对外受众范围、上游 ToS 与适用法域的合规要求。 我们维护的公开实例(quantum-atlas.ai)保持默认关闭。

上游数据源 license 汇总

各数据源的详细介绍见 外部数据源。下表只列 license 和我们的归属义务。

数据源 License 商业可用 强制归属 备注
OpenAlex CC0 1.0 Universal ❌(强烈推荐但不强制) 创作者放弃所有权利,可任意使用。OpenAlex 仍请求显示归属,我们照做
Crossref metadata CC0 1.0 2017 起 Crossref 全部 metadata 转 CC0
arXiv metadata(via OAI-PMH) arXiv ToU ✅(read access) ✅ "Source: arXiv" 元数据可读、可镜像;归属到 arxiv.org
arXiv 论文全文(PDF) 作者保留版权 ❌ 不可随意再分发 公开实例镜像 PDF 字节;用户从 arxiv 自己下。Self-hosted + 开关启用后,由部署方承担分发义务
MinerU 解析输出 衍生作品 — 受原 PDF 版权约束 ⚠️ 仅 fair-use / 研究教育 同上:公开实例无字节下载 API;self-hosted 自负责任
Semantic Scholar Open Research Corpus ODC-BY 1.0 ✅ "Data provided by Semantic Scholar" 当前未使用,预留
ORCID public profile CC0 当前未使用,预留

我们的归属(按 CC0 推荐做法)

SPA 详情页脚 + 公开 API 响应会显示:

Metadata from OpenAlex (https://openalex.org), released under CC0.
Article source and full text: arXiv (https://arxiv.org).

API 响应 header(在所有 /api/* 路径上自动注入,由 cmd/qatlasd/main.go 的 router-level middleware 实现):

X-Attribution: OpenAlex (CC0), Crossref (CC0), arXiv

README + 项目文档(本节及 致谢)显示完整 attribution 链。

用户责任

如果你复用从 QuantumAtlas API 拿到的内容:

  • Metadata(CC0):随便用,仍请归属到 OpenAlex(公益项目,归属能帮它们拿持续资助)
  • PDF:公开实例不提供 PDF 下载——请自行到 arxiv.org 拉,按原作者声明使用
  • Wiki 内容:Apache-2.0(与 QuantumAtlas-Wiki repo LICENSE 一致),归属到本项目即可

论文访问开关 (self-hosted)

QATLAS_PAPER_ACCESS_ENABLED 是 qatlasd 上的单一 master 开关, 默认 false。开关 OFF 时(quantum-atlas.ai 等公开实例的默认状态):

  • 下述 /markdown / /pdf 全部端点不注册;客户端拿到 404
  • server 不读 MINERU_* / QATLAS_OPENALEX_MAILTO / QATLAS_ARXIV_FETCH_* 字段;不会代客户端做 server-side 转换或 fetch
  • Contributor 仍可走 qatlas mineru(拿自己的 MinerU quota 在本地跑),通过 POST /api/papers/{id}/upload-mineru 把成品 markdown 推到 server——这条 路径与开关无关

开关 ON 时,server 同时启用以下四件事,一体不可拆

  1. Markdown 对外 serve + on-demand convert GET /api/papers/{id_or_doi}/markdown 注册,受 papers:read 保护;缓存未 命中时 server 用部署方配置的 MINERU_API_TOKENS 跑 MinerU,markdown 写回 qatlas-md 桶后 serve 字节。
  2. PDF 对外 serve + silent fetch GET /api/papers/{id_or_doi}/pdf 注册,受 papers:read 保护;缓存未命中 时 server 用 QATLAS_OPENALEX_MAILTO(polite-pool)+ QATLAS_ARXIV_FETCH_RPS 速率限制从 arxiv.org 拉 PDF,写入 qatlas-pdf 桶后 serve 字节。这意味着 部署方对外重分发了 arxiv PDF 的二进制副本——arxiv 的 ToS 没禁止 redistribution,但版权归原作者,部署方应自行评估对外受众范围与法域限制。
  3. DOI 寻址 path 头部匹配 ^10\.\d{4,9}/ 自动经 OpenAlex 反查 → canonical arxiv id → 走同一套 handler;缺 QATLAS_OPENALEX_MAILTO 时 DOI 路径返回 503。
  4. 状态端点 …/markdown/status…/pdf/status 提供 side-effect-free 进度查询; 两端点同样只在开关 ON 时注册。

开关 ON 后,部署方对对外受众范围适用法域 ToS 自负责任。我们建议:

  • 反代层放鉴权前置(caddy-security GitHub OAuth、企业 SSO 等),不要裸开 到匿名互联网;
  • 部署在受控范围(私有团队、内部站点、教育机构 IP allowlist);
  • 公开实例(互联网开放)维持开关默认 OFF。

详细 env 字段见 Env Vars 参考 · 论文访问开关。 实施进度跟踪:#8

撤稿 / 删除请求

如果你是论文作者或权利持有人,希望我们:

  • 从 Neo4j catalog 移除某 paper 节点
  • qatlas-md 桶删除某 paper 的解析 markdown

请提 GitHub issue 或邮件 联系维护者(见 致谢)。我们会在合理时间内处理(不保证 SLA, 这是一个研究项目)。

注意:metadata 来自 CC0 上游,我们删除自己 catalog 不会让 metadata 从 OpenAlex / Crossref 消失;要从那里删,请直接联系上游。