Apache Whisker 介绍与选型指南

Apache Whisker 介绍与选型指南:Creadur 套件中基于许可元数据生成 NOTICE/LICENSE 的审计辅助工具,模块构成与双工作模式解析,发布停滞状态实查标注,及与 Apache Rat、SkyWalking Eyes、ScanCode 的选型对比。

Apache WhiskerApache Whisker2026/10/18

Apache Whisker 介绍与选型指南

一、信息基准

本章列明本文事实性信息的核查时间与来源,全部信息取自 Apache 官方渠道,不含本地实测推算。特别说明:Apache Whisker 隶属于 Apache Creadur 顶级项目,官方长期未发布正式版本,故本文标题不带版本号,改为在正文中给出组件级版本基准。

1.1 组件与版本基准

组件/事实基准来源
项目归属Apache Creadur 顶级项目的子组件(官网导航:Apache / Creadur / Whisker)https://creadur.apache.org/whisker/
唯一正式版本标签apache-whisker-0.1,GitHub 记录时间 2013-08-04https://github.com/apache/creadur-whisker/releases.atom
官方站点构建版本0.2-SNAPSHOT(Last Published: 2026-07-22),即 0.2 仅为未发布的开发快照https://creadur.apache.org/whisker/ 页面标注
官方发行目录现状downloads.apache.org/creadur/ 下当前仅存在 apache-rat-0.18/ 与 apache-tentacles-0.1/,无 whisker 发行目录https://downloads.apache.org/creadur/
历史归档现状archive.apache.org/dist/creadur/ 归档列表中同样无 whisker 目录https://archive.apache.org/dist/creadur/
Maven Central 现状org.apache.creadur/ 组下仅存 tentacles 构件;whisker 文档声明的 groupId org.apache.creadur.whisker 在 Central 无制品目录https://repo1.maven.org/maven2/org/apache/creadur/
查询日期2026-10-18本文统一标注

1.2 官方来源清单

来源地址用途
Whisker 官方站点https://creadur.apache.org/whisker/功能定位、模块构成、版本标注
Creadur 项目主页https://creadur.apache.org/Creadur 套件(Rat/Tentacles/Whisker)背景
GitHub 仓库https://github.com/apache/creadur-whisker代码、唯一 tag 记录、stars 数
GitHub 订阅源https://github.com/apache/creadur-whisker/releases.atom版本时间线
Apache 发行目录https://downloads.apache.org/creadur/发行物存在性核查
Apache 归档目录https://archive.apache.org/dist/creadur/历史发行物核查

二、软件概述

本文介绍的是 Apache Whisker(Creadur/Whisker,无已发布版本,站点构建版本 0.2-SNAPSHOT)。官方定义:Apache Whisker assists assembled applications maintain correct legal documentation——即帮助组装型应用(由大量第三方库/框架拼装而成的软件发行物)维护正确的法律文档。

Whisker 是 Apache Creadur 语言与构建无关的软件审计工具套件(与 Apache Rat、Apache Tentacles 并列)的三个成员之一。官网同时强调其边界:Whisker 只是更高效地维护信息,不能替代严谨的法律工作,文档不构成法律意见,使用者应具备相关法律常识。

状态结论(依据第一章基准核查,如实标注):Whisker 处于低活跃/事实性停滞状态——自 2013-08 的 0.1 标签后从未发布过正式版本,官方站点长期停留在 0.2-SNAPSHOT,且当前与历史官方发行渠道均无 Whisker 发行物,Maven Central 亦无其制品。选择它作为新项目的许可证审计工具需要非常谨慎,本文第六、七章给出替代建议。

三、核心架构

3.1 元数据驱动模型

依据官方站点"How Does Whisker Work?"一节的描述:Whisker 以"licensing meta-data"(许可元数据)为核心——元数据描述组装进发行物的各组件的法律属性(许可家族、版权声明等),Whisker 基于这份数据工作。官方站点提供样例元数据(如 Apache James Public Domain 模板、MIT 许可家族等示例)供学习。

3.2 两大工作模式

官方站点"How Can Whisker Help?"给出两种能力:

模式说明
verify(校验)对照发行物校验元数据的质量与一致性
generate(生成)从元数据生成法律文档,官方点名支持 NOTICE 与 LICENSE 两类文件

3.3 模块构成

官方站点 Modules 栏目列出的模块划分:

模块角色
Whisker::Model许可元数据模型
Whisker::Scan对发行物进行扫描
Whisker::XML元数据的 XML 读写
Whisker::App应用装配层
Whisker::Output(velocity)基于 Apache Velocity 的文档输出
Whisker::Command Line Interface命令行入口
Whisker::Maven PluginMaven 构建插件入口

四、功能特性

依据官方站点归纳:

  • 双能力:verify 元数据质量 + 从元数据生成 NOTICE/LICENSE 等法律文档,官方标注特别适合组件构成复杂的组装型应用。
  • 两种使用形态:命令行工具(CLI)与 Apache Maven 插件(官方站点设独立使用文档与 FAQ、"Whisker In 5 Minutes"快速示例页)。
  • 语言与构建无关:Creadur 套件的定位是对被审计软件的语言、构建系统无要求(对比 Rat 的定位口径)。
  • 内置许可模板体系:官方文档附带许可家族/版权声明样例(Apache James Public Domain 模板、MIT 许可等),便于快速理解元数据写法。
  • 输出层基于 Apache Velocity 模板实现,可定制生成文档的版式。

五、快速上手

以下要点引自官方站点(creadur.apache.org/whisker/ 及其"In 5 Minutes"示例文档与 apache-whisker-maven-plugin 使用文档),本文不做本地实测。

5.1 使用形态

官方提供两种使用入口:

  1. 命令行方式:通过 Whisker::Command Line Interface 模块执行 verify/generate 命令,处理一份许可元数据与目标发行物(官方站点 CLI 文档)。
  2. Maven 插件方式:官方 Maven 插件文档声明的 groupId 为 org.apache.creadur.whisker(见官方 usage 页),可在构建过程中嵌入法律文档生成。

5.2 元数据示例思路

官方"In 5 Minutes"示例的写法思路:定义许可家族(license family)→ 声明版权归属 → 将组件逐条挂接到对应许可与声明,最终由 Whisker 校验或生成 NOTICE/LICENSE 文档。完整的示例元数据可在官方站点样例页(Apache James Public Domain Template、MIT License 等条目)直接查阅。

5.3 可用性重要提示

按第一章基准核查结论:截至查询日期,官方并未提供可下载的 Whisker 发行包(下载页指引的发行目录与归档目录均无 whisker 条目),Maven Central 也无法取到 org.apache.creadur.whisker 制品。因此在当前时间点无法按官方文档完成真实的安装运行;如需源码研究,只能从 GitHub 仓库 apache/creadur-whisker 获取源码自行构建,构建结果同样无官方版本背书。

六、适用场景与限制

6.1 适用场景

  • 需要对由多组件组装的发行物系统化管理 NOTICE/LICENSE 等法律文档,且团队有能力自行维护元数据文件的场景。
  • 需要按"许可家族 + 版权声明"结构化组织许可证元数据,并对文档生成做模板化定制的场景(输出层基于 Velocity 模板)。
  • 对 Creadur 体系(Rat/Tentacles/Whisker)做历史研究与元数据格式复用。

6.2 已知限制(状态如实标注)

  • 长期未发布:唯一版本 0.1 停留于 2013-08,0.2 仅为 SNAPSHOT;官方发行渠道与 Maven Central 均无可用制品,官方未公布任何后续发布计划。
  • 官方明示不构成法律意见,使用前需自行确认法律效力。
  • 元数据需要人工编写与维护,与自动扫描类工具(如 Rat、ScanCode)相比人工成本高。
  • 对新项目不建议采用:缺少版本化发行物意味着无法获得安全更新与兼容性承诺,同任务应优先选择第七章的活跃替代品。

七、同类选型对比

7.1 对比对象与数据基准

选取三个同类许可证/合规审计工具:Apache Rat(Creadur 套件内同门兄弟)、Apache SkyWalking Eyes(许可头检查与依赖许可解析)、ScanCode Toolkit(多维度代码扫描)。数据于 2026-10-18 取自各项目官方渠道(GitHub 仓库页、releases.atom、downloads.apache.org、PyPI 官方元数据)。

7.2 量化对比

维度Apache Whisker(无发布版)Apache Rat 0.18Apache SkyWalking Eyes 0.9.0ScanCode Toolkit 32.5.0
开源许可Apache-2.0(ASF 项目统一策略)Apache-2.0Apache-2.0Apache-2.0 并含 CC-BY-4.0 等数据许可(PyPI 元数据)
GitHub stars + 最近发版9 stars;唯一标签 0.1(2013-08-04)41 stars;0.18(发行目录时间戳 2026-03-20,Maven Central 同为 0.18)317 stars;v0.9.0(2026-09-01)2648 stars;32.5.0(PyPI 官方源当前版本)
版本节奏无节奏:十余年未发版Creadur 主线持续维护,0.16→0.17→0.18 滚动年度级迭代(0.7.0→0.8.0→0.9.0)持续高频维护,子模块版本众多
兼容矩阵站点构建 0.2-SNAPSHOT,无发行物,无法正常获取Java 运行,提供 CLI 与 Maven 插件Go 单二进制,CLI 与 CI 集成,支持多种包管理器许可解析Python 工具链,CLI 扫描,产出门控数据库

补充说明:Rat 与 Whisker 同属 Creadur,但 Rat 持续发版且聚焦"许可证头/版权声明审计",活跃度远高于 Whisker;SkyWalking Eyes 面向工程流水线(许可头修复 + 依赖许可报表);ScanCode 定位 deepest 扫描(许可证、版权、依赖清单识别),数据许可与主许可并存需注意合规组合。

7.3 选型建议

无论何种许可证审计需求都不建议再新引入 Whisker(无发布版、无制品、无维护节奏);构建期许可证头审计选 Apache Rat 或 SkyWalking Eyes,需要深度组件清单与许可识别时选 ScanCode Toolkit。

八、参考链接