生成AI時代の必須知識!著作権侵害を避ける「依拠性」と「類似性」とは?

こんにちは。ゆうせいです。

「この処理、AIに書いてもらっちゃえ!」

GitHub CopilotやChatGPTのような生成AIは、今やコーディングに欠かせない相棒になりつつありますよね。でも、その便利さの裏側で、「これって著作権的に大丈夫なのかな?」と不安に思ったことはありませんか?

実は、あなたが何気なく生成したそのコード、一歩間違えると「著作権侵害」の引き金になるかもしれないんです。

今回は、特に新人エンジニアのあなたに知っておいてほしい、著作権侵害が成立するための2つの重要なカギ、「依拠性(いきょせい)」と「類似性(るいじせい)」について、そしてそれが生成AIとどう関わるのかを、例え話を交えながら分かりやすく解説していきますね。

著作権侵害のパズルを完成させる2つのピース

誰かが作ったプログラムのコードやドキュメントには、原則として「著作権」という権利が発生します。そして、他人の著作物を無断で利用すると著作権侵害になるわけですが、裁判などで「侵害だ!」と判断されるためには、パズルのピースのように、ある2つの要件がそろう必要があるんです。

それが、今回お話しする「依拠性」と「類似性」です。

どちらか一方だけではダメで、両方がそろって初めて著作権侵害が成立する可能性がある、と覚えておいてください。

では、一つずつ見ていきましょう!

ピース1:依拠性(いきょせい) - それ、見て作りましたよね?

まず「依拠性」から。

なんだか難しそうな言葉ですが、すごく簡単に言うと「他人の著作物をもとにして、自分の創作物を作った」ということです。

例えば、あなたが学校の美術の授業で絵を描くとします。

もし、隣の席のAくんの描いた独創的な絵をチラッと見て、「あ、この構図いいな」と思って、それを真似して自分の絵を完成させたとしましょう。この場合、あなたの絵はAくんの絵に「依拠した」と言えます。

一方で、あなたがAくんの絵を一切見ずに、全くの偶然でAくんとそっくりな絵を描き上げたとしたら?

この場合は、Aくんの絵に依拠していないので、「依拠性がない」ということになります。たとえ結果的に作品がそっくりでも、著作権侵害にはなりません。( যদিও, 複雑なソフトウェアの世界で偶然そっくりなものが生まれる可能性は、天文学的に低いですが…)

つまり、依拠性は「知っていて、それに基づいて作ったか」どうかを問うものです。

ピース2:類似性(るいじせい) - それ、似てますよね?

次に「類似性」です。

これは言葉の通り「あなたの作ったものが、元の著作物と似ているか」どうか、ということです。

ただし、ここで一つ大きな注意点があります!

著作権が保護するのは「アイデア」ではなく「表現」だということです。

どういうことか、また例え話で考えてみましょう。

「魔法学校に通う少年が、仲間たちと冒険を繰り広げ、悪の帝王を倒す」という物語の「アイデア」があったとします。このアイデア自体は、誰でも自由に使うことができます。だから、このテーマで色々な小説や映画が作られていますよね。

しかし、「ホグワーツという名の学校で、ハーマイオニーとロンという親友と出会い、ヴォルデモート卿を倒すために奮闘するハリー・ポッターの物語」という具体的な「表現」は、著作権で固く守られています。

これをエンジニアリングの世界に置き換えると、

「タスク管理アプリを作る」という「アイデア」は誰でも自由に実現できます。

でも、特定のアプリのソースコード、ユニークなUIデザイン、具体的な機能を実現しているアルゴリズムといった「表現」をそっくりそのままコピーしてしまえば、それは「類似性がある」と判断される可能性が非常に高くなります。

ここで登場!生成AIとの悩ましい関係

さて、この「依拠性」と「類似性」の考え方、生成AIを使うとどうなるのでしょうか? ここが現代のエンジニアにとって一番重要なポイントです!

生成AIのアウトプットは、常に「依拠性」の可能性がある

考えてみてください。生成AIは、インターネット上に存在する膨大な量のテキストやコードを「学習」して、賢くなっています。その学習データの中には、当然、著作権で保護されたコードもたくさん含まれているわけです。

つまり、AIが何かコードを生成するとき、それは学習した無数のコードに「依拠して」いると言えます。AIは、あなたが知らない間に、世界中の誰かのコードを「見て」アウトプットを出しているようなものなのです。

ということは、著作権侵害のパズルのピースのうち、「依拠性」は、AIを使った時点で常に「あり」に近い状態からスタートする、と心構えをしておく必要があります。

問題は「類似性」 - 偶然の一致は起こりうる!

依拠性のピースがはまっているとなると、次に問題になるのは「類似性」です。

AIが生成したコードが、たまたま学習元の特定のコードと「そっくり」になってしまうケースが実際に起こりえます。特に、ありふれた処理や有名なアルゴリズムなどを書かせると、多くの人が書いたであろう代表的なコードに酷似してしまうことがあるのです。

もし、AIが生成したコードが、厳しいライセンス(例えばGPLなど)で公開されているコードの「表現」と酷似していたら…?

そして、あなたがそれを自社の商用プロダクトに気づかずに組み込んでしまったら…?

考えただけでも、ちょっと怖いですよね。これが、生成AIの利用に伴う著作権上の大きなリスクなのです。

じゃあ、僕たちはAIとどう付き合えばいいの?

「もうAIを使うのが怖くなってきた…」なんて思わないでください!

リスクを正しく理解して、賢く使えば、生成AIは間違いなくあなたの開発を加速させる最高のツールになります。

1. 生成されたコードを鵜呑みにしない!

まず一番大切なのは、AIが生成したコードを「答え」だと思わないこと。あくまで「下書き」や「たたき台」として扱いましょう。

コピペして終わり!は絶対にNGです。必ずそのコードの意味を理解し、自分の手でリファクタリング(修正・改善)してください。一手間加えることで、元のコードとの「類似性」を低減させることができます。

2. ライセンスをチェックできるツールを活用する

最近のAIコーディング支援ツールの中には、生成したコードが既存の公開コードと一致するかどうかを検知し、そのライセンスを提示してくれる機能を持つものがあります(例えば、GitHub Copilotの参照元フィルター機能など)。

こうした機能を有効に活用し、危険なコードが紛れ込んでいないかを確認する習慣をつけましょう。

3. 最終的な責任は「あなた」にあると自覚する

ここが一番重要です。

もし著作権侵害が起こってしまった場合、「AIが生成したから知りませんでした」という言い訳は通用しません。そのコードをプロダクトに組み込むことを最終的に決定した「あなた」が、その責任を負うことになるのです。

OSSのライセンスを確認するのと同じように、AIが生成したコードについても、その出自や安全性を確認する意識を常に持ってください。

これからの時代、AIを使いこなすスキルと同じくらい、AIがもたらすリスクを管理するスキルもエンジニアにとって不可欠になります。今回解説した「依拠性」と「類似性」という視点を常に頭の片隅に置き、ルールを守ってAIと上手に付き合っていきましょう。

他人の素晴らしい創作物に敬意を払い、ツールを賢く利用する。

この姿勢を忘れずに、これからも素晴らしい開発ライフを送ってくださいね!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。