这是一个开源许可证集合工具,用于方便开发者查看和引用各种开源协议,支持项目许可管理和参考。
该项目通过GitHub API拉取并保存各种开源许可证的详细信息,包括许可证文本、权限、条件和限制等。用户可以快速查找和使用常见的开源许可证,无需手动搜索和复制。
目前支持以下常见的开源许可证:
├── main.go # 主程序代码,用于从GitHub API拉取许可证信息
├── api/ # 各许可证详细信息目录
│ ├── agpl-3.0 # AGPL-3.0许可证详细信息
│ ├── apache-2.0 # Apache 2.0许可证详细信息
│ ├── mit # MIT许可证详细信息
│ ├── licenses # 许可证汇总信息
│ └── ... # 其他许可证详细信息
├── go.mod # Go模块定义
├── go.sum # 依赖版本锁定
├── LICENSE # 项目自身的许可证
└── README.md # 项目说明文档
如果需要更新或重新拉取许可证信息,可以运行以下命令:
# 使用默认配置
go run main.go
# 指定仓库地址
go run main.go -repo zhiqiangwang/licenses
程序将从GitHub API拉取最新的许可证信息并保存到本地。
该工具支持以下配置方式(按优先级从高到低):
-repo <仓库地址>CNB_REPO_SLUGzhiqiangwang/licensesapi/licenses 文件中api/ 目录下对应的文件中(如 api/mit)每个许可证的文件包含以下主要字段:
key: 许可证唯一标识符name: 许可证名称spdx_id: SPDX标准下的许可证标识符url: 许可证在线地址node_id: GitHub节点IDhtml_url: HTML查看地址description: 许可证描述implementation: 如何应用此许可证的说明permissions: 许可证授予的权限列表conditions: 许可证要求的条件列表limitations: 许可证的限制列表body: 许可证完整文本featured: 是否为推荐许可证欢迎提交Issue或Pull Request来改进此项目。