logo
0
0
Login
🔧 refactor: 升级logx至v1.0.1并设置默认日志级别为Info

开源许可证集合

这是一个开源许可证集合工具,用于方便开发者查看和引用各种开源协议,支持项目许可管理和参考。

项目介绍

该项目通过GitHub API拉取并保存各种开源许可证的详细信息,包括许可证文本、权限、条件和限制等。用户可以快速查找和使用常见的开源许可证,无需手动搜索和复制。

支持的许可证

目前支持以下常见的开源许可证:

  • AGPL-3.0 (GNU Affero General Public License v3.0)
  • Apache-2.0 (Apache License 2.0)
  • BSD-2-Clause (BSD 2-Clause "Simplified" License)
  • BSD-3-Clause (BSD 3-Clause "New" or "Revised" License)
  • BSL-1.0 (Boost Software License 1.0)
  • CC0-1.0 (Creative Commons Zero v1.0 Universal)
  • EPL-2.0 (Eclipse Public License 2.0)
  • GPL-2.0 (GNU General Public License v2.0)
  • GPL-3.0 (GNU General Public License v3.0)
  • LGPL-2.1 (GNU Lesser General Public License v2.1)
  • MIT (MIT License)
  • MPL-2.0 (Mozilla Public License 2.0)
  • Unlicense (The Unlicense)

项目结构

├── 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 # 依赖版本锁定 ├── init-repo.sh # 仓库初始化脚本(用于快速初始化Git仓库,生成LICENSE、.gitignore和README.md) ├── LICENSE # 项目自身的许可证 └── README.md # 项目说明文档

如何使用

1. 重新拉取许可证

如果需要更新或重新拉取许可证信息,可以运行以下命令:

# 使用默认配置 go run main.go # 指定仓库地址 go run main.go -repo zhiqiangwang/licenses

程序将从GitHub API拉取最新的许可证信息并保存到本地。

2. 命令行选项

该工具支持以下配置方式(按优先级从高到低):

  1. 命令行参数:-repo <仓库地址>
  2. 环境变量:CNB_REPO_SLUG
  3. 默认值:zhiqiangwang/licenses

3. 查看许可证信息

  1. 所有许可证的基本信息存储在 api/licenses 文件中
  2. 每个许可证的详细信息存储在 api/ 目录下对应的文件中(如 api/mit

4. 使用仓库初始化脚本

init-repo.sh 是一个便捷的仓库初始化脚本,可以帮助开发者快速初始化Git仓库并生成必要的配置文件。

脚本功能

  • 初始化Git仓库(如果尚未初始化)
  • 配置Git用户信息(用户名和邮箱)
  • 可选添加远程仓库
  • 生成开源许可证文件(LICENSE)
  • 生成项目语言对应的.gitignore文件
  • 生成README.md文件

使用方式

在任意新的或已有的项目目录中,直接运行以下命令:

bash -c "$(curl -fsSL https://cnb.cool/zhiqiangwang/licenses/-/git/raw/main/init-repo.sh)"

或者,也可以先下载脚本,然后运行:

curl -fsSL https://cnb.cool/zhiqiangwang/licenses/-/git/raw/main/init-repo.sh -o init-repo.sh chmod +x init-repo.sh ./init-repo.sh

许可证详情结构

每个许可证的文件包含以下主要字段:

  • key: 许可证唯一标识符
  • name: 许可证名称
  • spdx_id: SPDX标准下的许可证标识符
  • url: 许可证在线地址
  • node_id: GitHub节点ID
  • html_url: HTML查看地址
  • description: 许可证描述
  • implementation: 如何应用此许可证的说明
  • permissions: 许可证授予的权限列表
  • conditions: 许可证要求的条件列表
  • limitations: 许可证的限制列表
  • body: 许可证完整文本
  • featured: 是否为推荐许可证

贡献

欢迎提交Issue或Pull Request来改进此项目。

注意事项

  • 本项目仅供参考,在实际项目中使用许可证时,请务必确认许可证的最新版本和具体条款
  • 如需专业法律建议,请咨询专业法律顾问

About

开源许可证集合,方便开发者查看和引用各种开源协议,用于项目许可管理和参考。

480.00 KiB
0 forks0 stars1 branches0 TagREADMEApache-2.0 license
Language
License30.8%
Shell27.9%
Go19.2%
Markdown17.7%
Others4.4%