SPDX 许可证标识符校验
网络所有处理都在浏览器本地完成,数据不上传服务器
一行一个 SPDX 标识符,逐条给出结论:是否合法、规范写法是什么、是否已废弃、是否 OSI 认可、是宽松还是传染性许可、是否要求保留版权与许可声明。重点是大小写:SPDX 标识符大小写敏感,规范写法是 `Apache-2.0` 而不是 `apache-2.0`,而 npm、pip 这类生态常常不校验,写错的能装能跑,直到合规扫描或 SBOM 工具才拒收 —— 所以这里会逐字给出规范写法。废弃关系也讲清楚:`GPL-2.0` 已废弃、现行写作 `GPL-2.0-only`;`GPL-2.0+` 与 `GPL-2.0-or-later` 同义,前者已废弃。内置一张精选的常见许可证表(约七十个),只收能确认字段的,不确定的一律不收;因此「查不到」只表示不在本表范围。全部在浏览器本地完成。
功能
- 大小写敏感校验,写错时给出逐字的规范写法
- 区分「合法」与「已废弃」:废弃的标识符仍是合法标识符
- 已废弃项给出现行的替代写法(GPL-2.0 → GPL-2.0-only)
- 讲清 `GPL-2.0+` 与 `GPL-2.0-or-later`、`GPL-2.0` 与 `GPL-2.0-only` 的关系
- 标注 OSI(Open Source Initiative)是否认可
- 传染性分级:宽松 / 弱传染(文件级)/ 强传染 / 网络传染(AGPL)
- 标注是否要求保留版权与许可声明
- 内置约七十个常见许可证:MIT、Apache、BSD、GPL、LGPL、AGPL、MPL、ISC、CC0、EPL、Artistic、Zlib、BSL、WTFPL 等
- 一行一个,一批标识符可以一起核对
- SPDX 表达式(如 MIT OR Apache-2.0)会单独提示拆分
使用方法
- 一行贴一个 SPDX 标识符
- 结果逐条给出结论与释义
- 大小写写错时会指出规范写法
- 点行末的复制按钮取走单个结论
常见问题
- `GPL-2.0` 与 `GPL-2.0-only` 差在哪?
- `GPL-2.0` 是旧写法、已废弃,因为它含义含糊:既可能被理解为「仅 GPL-2.0」,也可能被理解为「GPL-2.0 或更高版本」。现行 SPDX 把它拆成了两个明确标识符:`GPL-2.0-only`(仅 2.0)与 `GPL-2.0-or-later`(2.0 或更高)。新项目里请写这两个之一,具体选哪个取决于你的授权意图。
- `GPL-2.0+` 和 `GPL-2.0-or-later` 是一回事吗?
- 语义相同,但 `GPL-2.0+` 已废弃。那个尾随的 `+` 是旧式「或更高版本」的写法,现行 SPDX 要求写成 `-or-later`,可读性更好、也不容易和别的符号混。工具会把 `GPL-2.0+` 标为废弃并指出应改用 `GPL-2.0-or-later`。
- 「弱传染」和「强传染」有什么区别?
- 弱传染(LGPL、MPL、EPL 等)通常只作用于单个文件:你修改了那个文件、再分发它,才需要按同样的许可开放该文件的改动;把它链接进闭源程序通常没问题。强传染(GPL)作用于整个作品:分发链接了 GPL 代码的程序时,整个程序都要以 GPL 发布。网络传染(AGPL)更进一步:即使不分发,只是通过网络提供服务,也要提供源码。
- 为什么有的许可证查不到?
- 本表是手工精选的,只收了约七十个常见许可证,并且只收作者能确认字段的那些。SPDX 官方列表有六百多个标识符,其中很多是冷门的许可证与异常(exception)。把强传染错标成宽松的代价比「查不到」大得多,所以这里宁缺毋滥 —— 查不到时请到 SPDX 官方列表核对,而不是认为它不存在。
- 这些信息会被上传吗?
- 不会。整张许可证表就在页面里,校验在浏览器本地完成,不发送任何请求、不查询任何接口,断网也能用。
相关工具
Compose 与 docker run 互转
网络compose 的 services 段与 docker run 命令双向互转。转不过来的键逐条列出并说明原因,不静默丢弃;镜像与命令按位置切开,不会被误当成选项。
security.txt 解析
网络解析 security.txt:列出联系方式、过期时间与其它字段,并直接告诉你这份文件现在还有没有效、哪里不合规。全部在浏览器本地完成。
JS 解包
编码解开 eval(function(p,a,c,k,e,d){…}) 这类压缩代码,也能反向打包。纯字符串处理,不执行任何脚本。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。