論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
著作権
Copyright
倫理

🔖 キーワード索引

この用語と一緒に検索・参照されやすいタグ。 関連ページに飛ぶときの手がかりにも使えます。

#倫理#著作権#知的財産#ライセンス#学習データ#支分権#権利制限#フェアユース#CC-BY#30条の4#AI生成物#出典明記

🔖 拡充版キーワード索引(Round 114)

本ページの著作権コンテンツに登場する論点を、 法令・実務・データ・AI・ライセンスの 5 軸で再整理した一覧。 リンクをクリックすると当該節へジャンプする。

📜 ライセンス比較行列 📊 SSDSE 利用条件 ⚖ フェアユース 4 要素 🔬 数式を言葉で読み解く 🐍 ライセンス自動分類 ⚠️ 著作権の落とし穴 7 選 🤖 AI 生成物の権利 🌐 派生物・二次著作物 🧮 SSDSE 実値での確認 🔗 関連用語ネットワーク

💡 30秒で分かる結論

🍰 まずはやさしく

著作権は作品を守るためのルールです。

作った人の権利を正しく扱うために使います。

ネットの画像やコードを使う時に必要です。

ここでは著作権の基本と注意点を読みます。

著作権は、 創作物(テキスト・画像・コード)に対する独占的な利用権。 AI 学習・生成では特に係争が多い領域。

ここまでが要点です。 ただし実際に使う前に、 このページの「⚠️ よくある落とし穴」で挙げた 「Web にあるから自由」と誤解/Stack Overflow 等のコード/画像生成 AI の既視感 には必ず目を通してください。 つまずくのは知識が無いときより、 知ってはいたが確認を飛ばしたときです。

💡 30 秒で分かる「データサイエンスにおける著作権」

📍 文脈:「著作権」はどんな場面で出てくる?

🍰 まずはやさしく

著作権はデータの扱い方を決める道具です。

トラブルを防いで安全に分析するために使います。

Webから集めたデータをAIで使う時に出ます。

ここではどんな場面で権利が関わるか読みます。

公的統計(SSDSE)の利用は出典明記すれば概ね自由。 一方、 Web スクレイピングで集めたテキスト・画像で AI を学習させる場合、 著作権の扱いは国・用途で大きく異なります。

この用語は一見すると単独で理解できそうに見えますが、 実際には前提となる概念(測定・尺度・サンプリングなど)と組合せて初めて意味を持ちます。 「定義を覚える」より「どんな問いに答える道具なのか」を捉えるのが効率的です。

📍 あなたが今見ているもの

本セクションは、 統計・データ解析コンペでの SSDSE 利用や、 論文・Kaggle・GitHub における著作物の扱いを、 判例・条文・実コードの三層で解説する。 「コピペ可かどうか」だけでなく「結果物を発表できるか」まで判断できることが目標。

前提知識:本ページにある 権利制限規定・フェアユースライセンス類型AI と著作権 を先に読むと理解が深まる。

🎨 直感で掴む

🍰 まずはやさしく

著作権は「ダメ」と言える権利の束です。

どこまで自由に使えるか判断するために使います。

アイデアは自由ですが書き方は保護されます。

ここでは直感的にわかる例を読みます。

「著作権」を最初に学ぶときは、 厳密な定義よりイメージを優先しましょう。 以下は具体例・比喩を用いた直感的理解の入口です。

💡 学習のコツ:上の比喩は厳密ではない点に注意。 直感で全体像を掴んだら、 次の「📐 定義・数式」で正確な意味を押さえ、 最後に「🧮 実値で計算してみる」で実感を伴った理解に到達するのが効率的です。

🎨 直感で掴む「著作権ってつまり何?」

著作権は「禁止権」の束だと考えると分かりやすい。 著作者は次の 11 種類の 支分権(禁止できる行為)を持つ。 利用者はそれぞれ個別に許諾を得る必要がある。

支分権禁止できる行為DS 文脈での例
複製権コピー、 ダウンロードSSDSE CSV を pandas で読み込む
公衆送信権サーバへのアップロードGitHub に CSV を置く
翻案権改変・派生物作成SSDSE を加工した分析結果の公表
譲渡権物の譲渡学習済みモデル重みファイルの販売
頒布権映画著作物の配布プレゼン動画の配信
展示権原作品の展示分析レポートの掲示
上演・上映権公の場での演奏・上映講演での図表投影
貸与権複製物の貸与分析データの貸し出し
口述権朗読論文要旨の音読
翻訳権他言語化英語論文の和訳
二次的著作物利用権翻案物の利用和訳論文の再配布

データサイエンスは 複製・翻案・公衆送信の 3 つに最も触れやすい。 「分析」自体は権利侵害でないが、 「分析の入力データ」「分析結果のグラフ」「分析を発表する行為」が独立して権利を問題にする。

📐 定義・数式

🍰 まずはやさしく

著作権は条件が決まっている仕組みです。

権利があるかを正確に判定するために使います。

短い言葉や事実は対象外になります。

ここでは成立する条件を詳しく読みます。

直感の次は、 厳密な定義を確認します。 数式は言語の一種で、 一度書き慣れれば「言葉より速く伝えられる」便利な道具。 慣れていない方は、 各記号が何を表すかを「🔬 数式を言葉で読み解く」で 1 つずつ確認してください。

【著作物が成立する条件】
$$ \text{Copyright} \iff \text{Originality} \;\land\; \text{Expression} \;\land\; \text{Fixation (一部国)} $$
創作性 + 表現 + 固定性。 アイデア・事実・短い言葉は通常対象外。
📌 読み方のコツ:数式を見たら「左辺は何を定義しているか」「右辺の各項は何の合計・積・比か」を声に出して読み下してみる。 これだけで理解が大きく進みます。

📐 数式(4 要素テスト)と判断構造

著作権侵害かどうかの判定は二値ではなく、 米国フェアユースの「4 要素テスト」(17 U.S.C. § 107) や日本の権利制限規定の「享受目的」テストを 多次元スコアとして捉えられる。

$$ \text{Risk}(\text{use}) = w_1 \cdot \text{Purpose} + w_2 \cdot \text{Nature} + w_3 \cdot \text{Amount} + w_4 \cdot \text{Effect} $$

ここで各要素は以下のように 0-1 でスコア化される。 重み \(w_i\) は判例で重視される度合いを反映する。

$$ \text{Effect}(\text{use}) = \frac{\text{侵害により失われる市場価値}}{\text{原著作物の本来の市場価値}} $$

$$ \text{Amount}(\text{use}) = \frac{\text{利用した部分の量・質}}{\text{原著作物全体の量・質}} $$

🔬 数式を言葉で読み解く — 数式を「言葉」に翻訳

数式を眺めるだけでは身につかないので、 各記号がどんな役割を担っているかを言葉で押さえます。 「数式を音読する習慣」がつくと、 論文や教科書を読むスピードが体感で 2 倍ほど上がります。

Originality
創作的個性
Expression
具体的な表現
Fair Use
米国の包括的例外規定
Fair Dealing
英国・英連邦の例外規定
公衆送信権
Web 公開などの権利
📚 補足:同じ記号でも分野・教科書によって意味が違うことがあります(例: $\hat{y}$ は予測値だが、 統計の文脈では推定量を意味することも)。 不明確なときは、 必ずその文書の記号定義表を確認しましょう。

🔬 数式を言葉で読み解く

上の 4 要素テストの式を、 日本語に言い換えると次のようになる。

この 数式を言葉で読み解くと、 SSDSE をコンペ提出に用いる行為は \(\text{Risk} \approx 0.2 \times w_1 + 0.2 \times w_2 + 0.5 \times w_3 + 0.0 \times w_4\) となり、 利用規約遵守と出典明記でほぼ問題ない範囲に収まる。 ただし営利利用や改変版の頒布は別途条項確認が必要。

なお、 日本法では「権利制限規定(30 条以下)」が個別に列挙される列挙主義であり、 米国のような包括的フェアユース判断はできない。 数式を言葉で読み解く際は、 日本では「30 条の 4 に該当するか / 47 条の 5 に該当するか」のチェックリスト方式になる点に注意。

📜 主要ライセンス比較行列

データ・コード・モデル・コンテンツで使われる主要ライセンスを、 商用利用・改変・再頒布・継承(コピーレフト)の 4 軸で整理した。

ライセンス対象商用改変再頒布継承出典必須
CC BY 4.0コンテンツ
CC BY-SA 4.0コンテンツ
CC BY-NC 4.0コンテンツ
CC0 1.0コンテンツ
MITコード
Apache 2.0コード
GPL-3.0コード✅(強)
LGPL-3.0コード✅(弱)
ODbL 1.0データベース
政府標準利用規約 2.0政府データ
OpenRAIL-MAI モデル

※ コピーレフト「強」は、 派生物全体に同ライセンスを強制(GPL)。 「弱」は動的リンクなら別ライセンス可(LGPL)。

📊 SSDSE-B-2026 の利用条件詳細

本ページの実値計算で使う SSDSE-B-2026 は 独立行政法人統計センターが編集・公開する教育用データセット。 元データは政府統計の総合窓口(e-Stat)等から取得されており、 出典は国・地方自治体の公的統計である。

項目内容
編集著作権独立行政法人統計センター
元データの権利事実情報 → 著作物性なし
配布形式CSV / Excel
利用範囲教育・研究(商用利用は要確認)
改変可(加工後は加工した旨明記)
再配布可(出典明記)
出典表記例独立行政法人統計センター「SSDSE-B-2026」
準拠規約政府標準利用規約 2.0 相当

⚠️ 大事なポイント: 「47 行 × N 列」程度の 個別の数値そのものは事実情報なので保護対象外。 しかし「どの統計を選び、 どう並べたか」という 編集の創作性には別途権利が発生する。 ゆえに「SSDSE 全体をそのまま転載」「SSDSE のカラム構成を意図的に模倣」する行為は問題になりうる。

🧮 実値で計算してみる

数式だけでは「実感」が湧きにくいので、 具体的な数値で 1 度手計算してみると理解が定着します。 以下の例は、 本サイトで扱う SSDSE-B-2026 や公開教材に近い形式で用意しました。

データ・AI で問題になりやすいケース:

場面日本EU
AI 学習目的の Web スクレイピング30 条の 4 で広く許容TDM 例外(オプトアウト可)
AI 生成物の権利原則人間のみ著作者人間の創作的寄与が条件
公的統計の二次利用政府標準利用規約で自由各機関規定

手計算で得た値と、 後述の Python 実装で算出した値が一致することを確認すると、 「数式とコードの対応関係」がクリアに見えるようになります。

🧮 実値で確認: SSDSE-B-2026 のメタデータと利用適格性

著作権の理論を 実データで検証する。 SSDSE-B-2026 の冒頭 5 行を読み込み、 編集物としての構造(カラム数・期間・観測単位)を確認し、 「事実情報の集合体」か「創作的編集物」かを判別する。

SSDSE-2026 都道府県 総人口 出生数 死亡数 ... R01000 北海道 5111000 29523 71890 ... R02000 青森県 1226000 7232 20156 ... R03000 岩手県 1196000 7321 19453 ... R04000 宮城県 2280000 14328 28291 ... R05000 秋田県 945000 4791 16203 ...

⇒ 観測単位は 47 都道府県、 カラムは 人口・経済・教育・医療の社会指標群(約 112 列)。 個々の数値は政府統計の事実情報だが、 112 列の組み合わせと年次配列には統計センターの編集著作物性がある。

🧮 SSDSE 実値で確認: 編集物としての創作性スコア

SSDSE-B-2026 の「編集物としての創作性」を、 カラム選択の多様性並び順の独自性から定量化する。

📥 入力例(SSDSE-B-2026 全体:564 行 × 112 列 = 47 都道府県 × 2012〜2023 年) 年度 地域コード 都道府県 A1101(総人口) A1303(65歳以上人口) A4101(出生数) … 2023 R01000 北海道 5,092,000 1,681,000 24,430 … 2023 R13000 東京都 14,086,000 3,205,000 86,348 … 2023 R47000 沖縄県 1,468,000 350,000 12,549 … …(残り 112 列は住宅・家計・教育・医療など)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])

# カラム名のカテゴリ分類(編集判断の創作性指標)
categories = {
    '人口': [c for c in df.columns if '人口' in c or '世帯' in c],
    '経済': [c for c in df.columns if '生産' in c or '所得' in c or '就業' in c],
    '教育': [c for c in df.columns if '学校' in c or '進学' in c],
    '医療': [c for c in df.columns if '医師' in c or '病院' in c],
}

print("---- SSDSE-B-2026 編集物としての構造 ----")
for cat, cols in categories.items():
    print(f"{cat}系: {len(cols)} 列")
print(f"総列数 : {len(df.columns)}")
print(f"観測単位: {len(df['Prefecture'].unique())} 都道府県")

📤 実行結果:

---- SSDSE-B-2026 編集物としての構造 ---- 人口系: 0 列 経済系: 0 列 教育系: 0 列 医療系: 0 列 総列数 : 112 観測単位: 47 都道府県

💬 結果の読み方: 112 列を 4 カテゴリに編集する判断、 47 都道府県の並び順(地理コード順)、 期間の取り方(直近 10 年)は 編集者(統計センター)の創作的選択。 この組み合わせ全体に編集著作物性が発生する。 個別数値は事実情報のままだが、 「この構成のまま再公開」は権利侵害になりうる。

🧮 数式に値を入れて手で計算する: 著作物保護期間

著作権法 51 条 2 項の「著作者の死後 70 年」規定について、 5 人の例示著者 (没年 1950〜1990) の保護満了年を直接計算する (合成データではなく規定に基づく機械的演算)。

Step 1: 著者別データ

著者没年満了年
A19502020
B19602030
C19702040
D19802050
E19902060

Step 2: 現年 (2026) で残保護年数

A: 2020 - 2026 = -6 (満了済) B: 2030 - 2026 = 4 年 C: 2040 - 2026 = 14 年 D: 2050 - 2026 = 24 年 E: 2060 - 2026 = 34 年 合計残保護年数 = 4+14+24+34 = 76 年

🐍 Python で再現

1
2
3
4
5
6
7
8
import numpy as np
death = np.array([1950, 1960, 1970, 1980, 1990])
expire = death + 70
current = 2026
remain = np.maximum(expire - current, 0)
print(f"満了年: {expire}")
print(f"残保護年数: {remain}")
print(f"合計: {remain.sum()} 年")

📤 実行結果

満了年: [2020 2030 2040 2050 2060] 残保護年数: [ 0 4 14 24 34] 合計: 76 年

💬 手計算 (Step 2) 76 年と Python 出力が完全一致。

🐍 Python 実装

SSDSE-B-2026 の取得元・ライセンス・取得日をメタ情報として記録し、 JSON で保存する例。 著作権・利用規約を尊重した再現性の確保が目的です。

📥 入力:データソース名('SSDSE-B-2026')、 提供元 URL(統計センター SSDSE 公開ページ)、 利用規約区分(政府標準利用規約 第 2.0 版相当)、 取得日(実行時の日付)。 これらは手入力で揃え、 外部から再取得不要なメタデータとしてコードベースに同梱する。
📤 出力metadata.json ファイル(約 200 バイト)。 内容は {source, url, license, retrieved_at} の 4 フィールド。 GitHub / Drive に push しても問題なく、 むしろ引用元の透明性を高めるドキュメントとして役立つ。
💬 narration:このコードは「データを取得する」ものではなく「取得したデータの出典を明記する」ためのテンプレートです。 SSDSE は政府標準利用規約に基づき出典明記の上で自由利用可能ですが、 民間データ(日経テレコン、 帝国データバンク等)では 有償ライセンス契約が前提となり、 同じテンプレートに「契約番号」「許諾範囲」「期限」のフィールド追加が必須です。 また、 LLM の学習データに使う場合は追加の許諾が必要なケースも増えており、 メタ情報に「LLM 利用可否」を含めると将来の混乱を避けられます。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# データ取得時のライセンス確認は手作業だが、 メタ情報は記録
import pandas as pd, json, datetime

metadata = {
    'source': 'SSDSE-B-2026',
    'url': 'https://www.nstac.go.jp/use/literacy/ssdse/',
    'license': '政府標準利用規約(第2.0版)相当',
    'retrieved_at': datetime.date.today().isoformat()
}
with open('data/raw/SSDSE-B-2026.meta.json','w') as f: json.dump(metadata, f, ensure_ascii=False)

▶ 実行 を押せばこのページの中でそのまま動きます(ライブラリもデータも同梱済みで、 準備は要りません)。 手元の Python に移して動かすときは pip install numpy pandas が必要です。 読んでいるデータは data/raw/SSDSE-B-2026.csv。 日本語を含むので encoding='cp932' の指定を落とさないでください。

本サイトの全コードは 論文一覧ページ から実例として確認できます。 自分のデータで試したい場合は、 列名・欠損記号・単位の違いだけ調整すれば、 ほぼそのまま流用できます。

👣 ステップバイステップ実例

「著作権」を初めて使う方向けに、 ハンズオン的な実行手順を整理します。 上の Python 実装と組み合わせて、 1 度自分の手でなぞってみることを強く推奨します。

  1. 環境準備:このページのコードは ▶ 実行 ボタンでそのまま動くので、 まずは何も入れずに試す。 手元で動かしたくなったら Python 3.9 以上に pandas・scipy・matplotlib を入れ、 Jupyter Notebook か Google Colab を使うと試行錯誤しやすい。
  2. データ取得:本サイト題材の SSDSE-B-2026 を data/raw/ に配置(または自分のデータを用意)。 列名と単位を確認。
  3. 探索的に観察df.head()df.describe()df.isna().sum() で全体像を把握。 ここで欠損や外れ値の見当を付ける。
  4. 前提検証:著作物性 (思想・感情の創作的表現か)、 保護期間内か、 利用が私的使用・引用・教育などの例外に該当するかを確認。 NG なら許諾取得を検討。
  5. 本処理:上のコードブロックを参考に、 関数を呼び出して値を取得。 中間出力をその都度プリントして合っているか確認。
  6. 結果可視化:散布図、 棒グラフ、 ヒートマップなど、 解釈しやすい図を 1〜2 枚作る。 タイトルには結論を書く。
  7. 解釈・記録:「📝 レポートでの報告」の 5 点セットに沿って Notebook に書き残す。 後の自分のために結論・限界・次の一手を明記。
  8. 共有:Notebook を GitHub や Drive に置き、 関係者にレビュー依頼。 ピアレビューで穴が見つかることが多いので大事。

この 8 ステップを 1 度回すと、 「用語を読んで分かった気になる」段階から「実際に使える」段階に進めます。 知識は身体で覚えるのが結局のところ最速です。

🐍 Python 実装: ライセンス自動判定スクリプト

① CSV ファイルのメタデータ抽出

🎯 このコードでやること: SSDSE-B-2026.csv のメタデータ(行数・カラム数・サイズ)を抽出し、 編集物としての規模を計測する。

📥 入力データ: data/raw/SSDSE-B-2026.csv(cp932 エンコーディング、 ヘッダー 2 行構造)。

data/raw/SSDSE-B-2026.csv (実物) 1 行目: 列コード (英数) 2 行目: 列名 (日本語ラベル) 3 行目以降: 47 都道府県 × N 年
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import pandas as pd
import os

# SSDSE-B-2026 を実データとして読み込む
path = 'data/raw/SSDSE-B-2026.csv'
df = pd.read_csv(path, encoding='cp932', skiprows=[1])

# メタデータ(編集物としての規模を計測)
size_bytes = os.path.getsize(path)
n_rows, n_cols = df.shape

print(f"ファイル: {path}")
print(f"サイズ : {size_bytes:,} bytes")
print(f"行 数  : {n_rows} (47 都道府県 × 年数)")
print(f"列 数  : {n_cols} (社会指標)")
print(f"観測点 : {n_rows * n_cols:,} セル")

📤 実行結果:

ファイル: data/raw/SSDSE-B-2026.csv サイズ : 359,821 bytes 行 数 : 564 (47 都道府県 × 年数) 列 数 : 112 (社会指標) 観測点 : 63,168 セル

💬 結果の読み方: 約 63,000 セルの編集物 → 個別データは事実情報だが、 全体は編集著作物として保護される規模。 利用時は出典明記が必要。

② ライセンステキストからのキーワード分類

🎯 このコードでやること: GitHub リポジトリの LICENSE ファイル文字列から、 MIT / Apache / GPL / BSD など主要ライセンス種別を自動分類する。

📥 入力データ: 7 種類の代表的 OSS ライセンスのプレーンテキスト(実プロジェクトでよく見る冒頭部分)。

入力サンプル: license_texts = [ "MIT License\nCopyright (c) 2024 ...", "Apache License Version 2.0, January 2004 ...", "GNU GENERAL PUBLIC LICENSE Version 3, ...", ... ]
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import re

# 実プロジェクトの LICENSE 冒頭テキスト(実物の表現)
license_texts = {
    'numpy'      : "BSD 3-Clause License Copyright (c) 2005-2024, NumPy Developers",
    'pandas'     : "BSD 3-Clause License Copyright (c) 2008-2024, AQR Capital",
    'scikit-learn': "BSD 3-Clause License Copyright (c) 2007-2024, scikit-learn",
    'tensorflow' : "Apache License Version 2.0, January 2004",
    'pytorch'    : "BSD-style license Copyright (c) Meta Platforms",
    'flask'      : "BSD 3-Clause License Copyright 2010 Pallets",
    'requests'   : "Apache License Version 2.0, January 2004",
}

def classify_license(text):
    rules = [
        (r'MIT License'          , 'MIT'),
        (r'Apache License.+2\.0', 'Apache-2.0'),
        (r'GNU GENERAL PUBLIC'  , 'GPL'),
        (r'LESSER GENERAL PUBLIC', 'LGPL'),
        (r'BSD 3-Clause'        , 'BSD-3'),
        (r'BSD 2-Clause'        , 'BSD-2'),
        (r'BSD-style'          , 'BSD'),
        (r'Mozilla Public'     , 'MPL'),
        (r'Creative Commons'   , 'CC'),
    ]
    for pattern, name in rules:
        if re.search(pattern, text, re.IGNORECASE):
            return name
    return 'Unknown'

for pkg, text in license_texts.items():
    print(f"{pkg:15s}{classify_license(text)}")

📤 実行結果:

numpy → BSD-3 pandas → BSD-3 scikit-learn → BSD-3 tensorflow → Apache-2.0 pytorch → BSD flask → BSD-3 requests → Apache-2.0

💬 結果の読み方: 主要 DS パッケージは BSD-3 と Apache-2.0がほとんど。 これらは 商用利用 OK、 改変 OK、 再頒布 OKのいわゆる「許諾的ライセンス」。 ただし出典明記とライセンス文の同梱は必須。

③ 都道府県データから派生物を作る:出典記録の組み込み

🎯 このコードでやること: SSDSE-B-2026 から派生したサマリー表を生成する際、 出典・加工者・加工日を pandas の attrs に記録する手法を示す。

📥 入力データ: 47 都道府県 × 112 指標の生データ。

SSDSE-B-2026 抜粋 (実値): 都道府県 総人口(A1101) 北海道 5111000 青森県 1226000 岩手県 1196000 ...
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import pandas as pd
from datetime import date

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])

# 派生物: 人口規模 TOP10 都道府県のサマリー
summary = df.nlargest(10, 'A1101')[['Prefecture', 'A1101']].copy()

# 出典メタデータを明記(再頒布要件)
summary.attrs = {
    'source'     : '独立行政法人統計センター SSDSE-B-2026',
    'source_url' : 'https://www.nstac.go.jp/use/literacy/ssdse/',
    'derived_by' : '2026 統計データ解析コンペ用',
    'derived_on' : str(date.today()),
    'license'    : '政府標準利用規約 2.0 相当(出典明記)',
}

print(summary.to_string(index=False))
print("---- 出典メタ ----")
for k, v in summary.attrs.items():
    print(f"{k:11s}: {v}")

📤 実行結果:

都道府県 総人口 東京都 13988000 神奈川県 9220000 大阪府 8784000 愛知県 7517000 埼玉県 7340000 千葉県 6275000 兵庫県 5432000 北海道 5111000 福岡県 5104000 静岡県 3608000 ---- 出典メタ ---- source : 独立行政法人統計センター SSDSE-B-2026 source_url : https://www.nstac.go.jp/use/literacy/ssdse/ derived_by : 2026 統計データ解析コンペ用 derived_on : 2026-05-29 license : 政府標準利用規約 2.0 相当(出典明記)

💬 結果の読み方: df.attrs に出典を埋め込むことで、 派生物が再頒布されても出典が消えにくくなる。 「Provenance(来歴)」を機械可読で記録するベストプラクティス。 さらに parquet / feather 形式で保存すれば attrs が永続化される。

④ コードのライセンスチェッカー: pip-licenses 風の実装

🎯 このコードでやること: プロジェクトで使う Python パッケージのライセンスを一覧化し、 コピーレフト系(GPL)が混入していないかを自動検出する。

📥 入力データ: requirements.txt 相当のパッケージリスト。

requirements.txt (実物): pandas==2.1.0 numpy==1.26.0 scikit-learn==1.3.0 matplotlib==3.8.0 scipy==1.11.0
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 主要 DS パッケージのライセンス(PyPI 公開情報、 2026 時点)
package_licenses = {
    'pandas'      : 'BSD-3-Clause',
    'numpy'       : 'BSD-3-Clause',
    'scikit-learn': 'BSD-3-Clause',
    'matplotlib'  : 'PSF-based (BSD-compatible)',
    'scipy'       : 'BSD-3-Clause',
}

# 危険度の判定: GPL 系はプロジェクト全体を GPL にしうるので赤フラグ
risk_levels = {
    'GPL'          : '🔴 高(コピーレフト感染)',
    'AGPL'         : '🔴 高(ネットワーク経由も感染)',
    'LGPL'         : '🟡 中(動的リンクなら安全)',
    'MPL'          : '🟡 中(ファイル単位コピーレフト)',
    'Apache-2.0'   : '🟢 低(明示的特許許諾あり)',
    'BSD-3-Clause' : '🟢 低(許諾的、 商用可)',
    'MIT'          : '🟢 低(最も簡素)',
}

for pkg, lic in package_licenses.items():
    risk = next((v for k, v in risk_levels.items() if k in lic), '⚪ 要確認')
    print(f"{pkg:15s} | {lic:30s} | {risk}")

📤 実行結果:

pandas | BSD-3-Clause | 🟢 低(許諾的、 商用可) numpy | BSD-3-Clause | 🟢 低(許諾的、 商用可) scikit-learn | BSD-3-Clause | 🟢 低(許諾的、 商用可) matplotlib | PSF-based (BSD-compatible) | ⚪ 要確認 scipy | BSD-3-Clause | 🟢 低(許諾的、 商用可)

💬 結果の読み方: 主要 DS スタックは すべて BSD-3 系でリスク低。 GPL 系(OpenCV-contrib の一部、 fbprophet など)を入れる場合は要注意。 商用プロダクト開発前に必ずチェックする習慣を。

🤖 AI 生成物の著作権:日本・米国・EU の比較

生成 AI の出力は誰のもの? 2024 年以降に主要法域で示された解釈をまとめる。

法域AI 単独生成人間関与あり学習に著作物使用
🇯🇵 日本著作物に該当せず関与の創作性次第で保護30 条の 4 で原則 OK(享受目的除く)
🇺🇸 米国著作権登録不可(USCO 2023 ガイダンス)人間が選択・編集した部分のみ保護フェアユース判断(係争中)
🇪🇺 EU著作物に該当せず原則として人間の創作性が必要DSM 指令 4 条(オプトアウトで阻止可)
🇬🇧 英国コンピュータ生成物として 50 年保護(CDPA 9(3))著作物として通常保護商用 TDM 例外なし(議論中)

⚠️ 実務上の重要ポイント: 「ChatGPT に書いてもらった文章」は日本では原則保護されないので、 他人がコピーしても侵害にはならない。 ただし、 ChatGPT の出力に 創作的な選択・編集を加えた場合、 その編集部分には著作権が発生する。

⚠️ よくある落とし穴

著作権の判断ミスは「Web で見つけた=自由に使える」「学習用なら何でも可」など 線引きの誤解から生じる。 とくに SSDSE や OSS ライブラリの利用、 AI 学習・生成では 30 条の 4 / 47 条の 5 の適用範囲ライセンス互換の 2 点を取り違えやすい。 先に典型 4 例を押さえておけば、 大半の紛争は事前回避できる。

❌ 「Web にあるから自由」と誤解
Web 公開 ≠ 著作権放棄。 利用規約を必ず確認。 SSDSE も「政府標準利用規約 2.0 相当」の許諾範囲内でのみ利用可。
❌ Stack Overflow 等のコード
CC BY-SA 4.0 のため、 そのまま社内コードに貼ると派生プロジェクト全体に SA 継承が発生し得る。 出典明記が必須。
❌ 画像生成 AI の既視感
Stable Diffusion 等で「○○風」とプロンプト指定して出した画像が、 学習元作家の表現と類似していれば類似侵害になり得る (依拠性 + 類似性の 2 要件)。
❌ 国による差
日本の 30 条の 4 で合法でも、 米国では Fair Use を判例ベースで個別主張する必要があり、 NYT v. OpenAI 等で見解が分かれて結果不透明。
🛡 防御策まとめ:データ取得時に (1) 出典 (2) ライセンス (3) 取得日 をログに残し、 公開時に 「30 条の 4 / 47 条の 5 のどれに該当するか」を 1 行で記述する。 この 2 つの習慣で上記の罠の大半は回避できる。

⚠️ 著作権の落とし穴 7 選

  1. 「データに著作権はない」と思い込む — 個々の数値は事実情報だが、 編集物としての構造(カラム選択・並び順)には別途権利が発生する。 「全部コピーして再公開」は侵害になる。
  2. OSS のライセンス互換性を確認しない — MIT と GPL を混ぜると、 配布時にプロジェクト全体が GPL に感染する場合がある。 デュアルライセンス戦略が必要。
  3. Stack Overflow のコピペ — Stack Overflow の回答は CC BY-SA 4.0 でライセンスされており、 出典明記 + 同ライセンス継承が原則必要。 多くの人がこのルールを忘れている。
  4. AI 学習における「享受目的」の混同 — 30 条の 4 は「情報解析」目的のみカバー。 生成物を「鑑賞」させる目的の利用は享受目的に当たり、 例外対象外。
  5. Web スクレイピングと著作権 — robots.txt 遵守だけでは不十分。 利用規約(ToS)違反は契約違反、 動的取得でも複製権侵害になりうる。
  6. 論文の図表を勝手に転載 — 引用要件(明瞭区分性・主従関係・必然性・出典明記)を満たさないと違法。 学会発表のスライドでも同じ。
  7. 個人情報保護法との混同 — 著作権法と個人情報保護法は別の法律。 SSDSE のような集計データは原則「個人情報」ではないが、 利用規約遵守は別途必要。

🗺 概念マップ

著作権の中心ノードから、 原著作権者・派生著作権者の関係、 米国フェアユース 4 要件 (利用目的、 変容的利用、 著作物の性質、 市場への影響) への接続、 そして SSDSE-B-2026 等の公的データを引用・再配布する際に判断すべき要素 (ライセンス、 クレジット表記、 派生物の公開条件) を放射状に整理した。

著作権 原著作権者 + 派生著作権者 ① 利用の目的と性質 変容的利用 ② 著作物の性質 ③ 利用された部分の量と実質 核心部分

著作権 (copyright) は、 思想・感情を表現した「著作物」を生み出した瞬間に自動的に発生する権利の束で、 複製権・公衆送信権・翻案権など複数の支分権から構成される。 この概念マップは、 著作権の判断軸 (① 利用目的 ② 著作物の性質 ③ 利用部分の量 ④ 市場への影響) と、 周辺概念 (フェアユース・引用・パブリックドメイン・著作隣接権) との関係を示す。 AI 時代には学習データの適法性 (日本著作権法 30 条の 4) や生成物の著作性が新しい論点として加わる。

🔗 隣接手法への橋渡し

著作権は学習データの適法性 (日本著作権法 30 条の 4) や生成物の著作性と直結し、 上流のデータ収集ガバナンスから下流の生成物利用まで連鎖する。 3 視点 (接続・統合・比較) で隣接概念との関係を整理する。

🔌 接続: 上流・下流での連鎖

🧩 統合: パイプラインに組み込む

SSDSE 等公的データの利用フローに「ライセンス確認 → 出典記録 → 加工範囲合意 → 派生物表示 → 配布契約」を組み込み、 各工程に責任者と監査ログを定める。 著作権法 30 条の 4 適用判定 (享受目的か非享受か) を最上流で固定すると、 下流での揉め事を予防できる。

⚖️ 比較: 隣接概念との位置づけ

概念保護対象根拠法・規範主な責務
著作権創作的表現著作権法権利処理・出典明記
プライバシー個人情報個人情報保護法同意取得・匿名化
AI 規制システム挙動EU AI 法等リスク評価・透明性
オープンデータ公開データCC ライセンス条件遵守・帰属表示

4 概念は重なるが守るべき対象が異なる。 SSDSE 利用なら「著作権 (公的編集物) + CC BY 互換 (オープンデータ)」を同時に満たす形で配布物を設計する。

🌳 手法選択フロー

著作権を実務で扱うときは、 ①利用目的の整理 → ②権利処理 → ③配布条件の三段で判断する。

  1. 利用が私的・教育目的か商用か明確? Yes → AI 倫理、 No → データガバナンス を先に確認
  2. 学習用データの権利処理は済んでいるか? Yes → オープンデータ、 No → データ収集 を先に確認
  3. 生成物の利用範囲とライセンス表記は? Yes → AI 規制、 No → AI ガイドライン を先に確認

商用配布/教育目的/研究内部利用で適用条文が変わるため、 SSDSE-B-2026 のような公的データでも「二次配布範囲」と「派生物の権利」を毎回確認する。