sk8metalme/ai-agent-setup
oss-compliance
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/sk8metalme/ai-agent-setup/blob/main/plugins/oss-compliance/skills/oss-license/SKILL.md -a claude-code --skill oss-licenseInstallation paths:
.claude/skills/oss-license/# OSSライセンス確認スキル
## 目的
依存パッケージのライセンスを確認し、ライセンス違反リスクを早期発見する。
## 重要な原則
### ✅ 許可ライセンス(一般的に使用可能)
- **MIT License** - 最も寛容なライセンス
- **Apache License 2.0** - 特許条項付き
- **BSD 2-Clause / 3-Clause** - シンプルな寛容ライセンス
- **ISC License** - MITと同等
- **CC0 / Public Domain** - 著作権放棄
### ⚠️ 要注意ライセンス(条件付き使用)
- **LGPL v2.1 / v3.0** - 動的リンクのみ許可(静的リンクは要注意)
- **MPL 2.0 (Mozilla Public License)** - ファイル単位のコピーレフト
- **CC BY-SA** - ドキュメント用(ShareAlike条項あり)
- **EPL (Eclipse Public License)** - 弱いコピーレフト
### ❌ 禁止ライセンス(商用利用時に要確認)
- **GPL v2 / v3** - 強いコピーレフト(全体がGPLになる)
- **AGPL v3** - ネットワーク経由でも適用される最も強いコピーレフト
- **SSPL (Server Side Public License)** - MongoDBなどで使用
- **CPAL (Common Public Attribution License)** - 帰属表示要求
## 並列監査(複数言語/技術スタック対応)
**複数の言語や技術スタックがあるプロジェクトの場合**、並列でサブエージェントに監査を委譲することで効率的にチェックできます。
**並列監査の実施方法:**
Taskツールで複数のサブエージェントを並列起動し、各言語の依存関係を同時に監査:
1. **Node.js依存関係** - package.json, package-lock.json
2. **Python依存関係** - requirements.txt, Pipfile, pyproject.toml
3. **Java依存関係** - pom.xml, build.gradle
4. **PHP依存関係** - composer.json
5. **その他** - 言語に応じたツール
各言語の監査結果を統合し、全体のライセンス状況をレポートします。
**メリット:**
- 複数言語を同時にチェック
- コンテキスト使用量を削減
- 抜け漏れのない網羅的監査
- 言語ごとの専門的なチェック
---
## ライセンス確認ツール
### Node.js プロジェクト
```bash
# license-checker インストール
npm install -g license-checker
# 依存関係のライセンス一覧
license-checker --summary
# 問題のあるライセンスを検出
license-checker --failOn "GPL;AGPL;SSPL"
# JSON出力(詳細分析用)
license-checker --json > licenses.json
# 特定ライセンスのみ表示
license-checker --onlyAllow "MIT;Apache-2.0;BSD"
```
### Python プロジェクト
```bash
# pip-licenses インストール
pip install pip-licenses
# 一覧表示
pip-licenses
# Markdown形式で出力
pip-licenses --format=markdown
# 許可リスト形式(違反を検出)
pip-licenses --allow-only="MIT;Apache 2.0;BSD"
# 禁止リスト形式
pip-licenses --fail-on="GPL;AGPL"
```
### Java プロジェクト(Gradle)
```gradle
// build.gradleに追加
plugins {
id 'com.github.hierynomus.license' version '0.16.1'
}
license {
header rootProject.file('LICENSE_HEADER')
strictCheck true
}
```
または Maven:
```xml
<plugin>
<group