核心用法
wip-license-guard 是一款面向代码仓库的许可证合规自动化工具,主要功能涵盖四个维度:
1. 全局审计 (check) — 扫描指定路径下的源代码文件,验证版权头、双许可证声明块(MIT/AGPL)及 LICENSE 文件的完整性
2. 自动修复 (check --fix) — 一键修正缺失或错误的许可证声明,生成符合规范的 CLA 与版权声明
3. 交互初始化 (init) — 提供向导式配置或直接使用 WIP Computer 预设模板快速落地
4. README 标准化 (readme-license) — 针对 README 中的许可证章节进行审计、预览与批量修复,支持单仓库或目录级批量处理
典型工作流
- 发布前执行
check确保全仓合规 - 新增源码文件后运行验证
- 多仓库场景下批量同步 README 许可证描述
显著优点
- 双许可证原生支持:内置 MIT/AGPLv3 双许可模式,契合现代开源项目常见的多许可分发需求
- 非侵入式修复:
--dry-run预览机制确保变更可控,避免误操作 - 批量目录处理:支持单仓库或目录级多仓库扫描,适合组织级合规治理
- 零配置快速启动:
--from-standard参数可直接套用作者预设规范,降低上手门槛
潜在缺点与局限性
- Node.js 依赖:必须预装 Node 与 Git 环境,对纯容器化或边缘环境不够友好
- 预设模板绑定:标准模板源自 WIP Computer 内部实践,外部用户可能需要额外自定义
- 许可证类型受限:当前主要针对 MIT/AGPL 双许可设计,GPL v2、Apache-2.0 等其他主流许可证需手动扩展
- CLI 交互深度:缺少 CI/CD 原生插件,需自行封装 GitHub Actions 等集成流程
适合人群
- 维护多个开源仓库的独立开发者或技术组织
- 需要强制执行许可证合规政策的 DevOps/开源治理团队
- 采用 MIT/AGPL 双许可策略的项目维护者
常规风险
- 过度修复风险:
--fix模式可能覆盖自定义的许可证注释格式,建议始终先--dry-run预览 - 版权归属误配:自动生成的版权声明基于配置模板,需人工核实作者与年份信息
- 子工具误判:
readme-license会将子工具 README 视为"不应包含许可证章节",需确认项目结构符合预期 - 许可冲突:工具本身采用 MIT 许可,但生成的 AGPL 声明可能触发 copyleft 义务,用户需理解双许可的法律含义