いまや様々なプログラムコードが、ネットから手軽に手に入る時代。さらには生成AIに頼むと、自動的にコードを生成してくれます。
しかしそれらのコードは、好きに使っていいとは限りません。そこには「著作権」という話があります。
プログラミングを生業とするならば、著作権について、正しく学んでおきましょう。
プログラムの著作権について
プログラムには著作権が適用される
まずは大事なこと。
(人が作った)とあえてつけているのは、AIの場合は話が別だから。これは後で述べます。
著作権とは、作者が自分の作品に対して持つ、法的な権利です。
作者は、自分の作った作品を
- どう配布するか
- どう販売するか
- 改変できるか
などを決める権利を持っています。
自分が作ったものを、他人が勝手に使ったり利益を得たり、不正に使うことを、防止するわけです。
そして、プログラムは著作権によって保護されます。ポイントは次の通り。
- 著作権は、作成した時点で発生する
- プログラムの一部にも、適用される
- 個人で使う分には問題ない
- 創作性ないなら、著作権は認められない
- 著作権は、開発を行った会社に帰属する
- アルゴリズムは著作権の対象外(ただし特許権はあるかも)
順番に見ていきましょう。
著作権は作成した時点で発生する
著作権は、その対象を作成した時点で権利が発生します。
特にどこかに届けるなどの手続きは不要です。
プログラムの一部にも適用される
完全に動作するプログラムでなくとも、その一部にも著作権が発生します。
プログラムの実行体にも、そのソースコードにも、ソースコードの一部(とあるサブルーチンなど)にも、著作権は適用されます。
個人で使う分には問題ない
基本的に、個人で学習などに使う分には、著作権の侵害にはなりません。
コードをダウンロードして動かしただけで罪に問われる、ということはないわけです。
創作性ないなら著作権は認められない
プログラムに著作権があるといっても、
print("Hello World")
を書いて、
このHelloWorldプログラムは、おれに著作権があるっ!
といっても、そんなことにはならないです。
ある程度の創作性がなければ、著作権は認められません。その人でしか作れないような独自性ですね。
ではどの程度であれば創作性が認められるのか。
それは、その時々の判断による、というのが実情です。
著作権は開発を行った会社に帰属する
あなたが会社員で、会社の指示でプログラムを作った場合。あなたが作ったからといって、
おれが作ったんから、会社じゃなくておれに著作権があるっ!
とはなりません。
特別な取り決めがない限り、その著作権は開発した会社に帰属します。
アルゴリズムは著作権の対象外
著作権は、あくまで生成したそのものに対して発生します。
アルゴリズムといった、それを生成するためのアイデアに対しては著作権は発生しません。
ただし、アルゴリズムは、”特許権”としては認められる場合があります。
プログラムのライセンス
作者は、著作権により、その作品をどう配るか、販売するか、改変できるか、などを決められます。
そして、ライセンスは、その作品の配布、販売、改変をどう扱うかを、定めています。
ライセンスの種類
ライセンス形式には、大きく3種類あります。
- オープンソースライセンス ソースコードを自由に利用・改変・再配布できるライセンス
- プロプライエタリライセンス ソースコードの利用・改変・再配布を制限するライセンス
- パブリックドメイン 著作権の保護期間が切れている、もしくは著作者が意図的に放棄している
パブリックドメインは、著作権保護の対象外。なので自由に利用できます。
プロプライエタリライセンスは、開発者が意図的に制限を設けているライセンス。制限事項はライセンス条項に明文化されています。有償で販売されているソフトウェアはほぼこの形式でしょう。
多くの人が注意すべきなのが、オープンソースライセンスです。
オープンソースライセンス
オープンソースは、ネットでソースコードが無償で入手でき、利用することができます。しかし注意です。
その取扱い方については、オープンソースライセンスで、ルールが定められています。
オープンソースライセンスにも色々な種類があります。以下は代表的な例。
ライセンス名 | 内容 | 適用例 |
---|---|---|
MITライセンス | 商用利用や複製、修正、配布が許可されている。 ただしライセンス文は保持する必要がある。 | 多くのオープンソース |
BSDライセンス | 商用利用や複製、修正、配布が許可されている。 ただしライセンス条項は保持する必要がある。 | FreeBSD Pythonライブラリ |
Apacheライセンス | 商用利用や複製、修正、配布が許可されている。 ただしライセンスコピーと変更内容は通知する必要がある。 | Apache HTTP Server Apache Hadoop |
GPLライセンス | 「コピーレフトライセンス」と呼ばれる。 元と同じライセンスで再配布することを義務づける。 改変版を配布する場合、そのソースコードも公開が必要。 | GNU/Linux MySQL WordPress |
LGPLライセンス | GPLと同様。 ただしLGPLライセンスの「ライブラリ」を利用した場合、 そのソフトウェアはLGPLライセンスを採用する必要はない。 | glibc OpenSSL |
近年では、MITライセンスなど、かなりの自由度を許諾するオープンソースが増えています。しかし、
これは忘れないでおいてください。
GPLにおけるコピーレフト
ライセンスの中でも、GPLの「コピーレフト」は、少し分かりづらいかもしれません。
コピーレフト(copyleft)は、著作権の意味を持つコピーライト(copyright)の対義語として作られた造語です。
GPLのコピーレフトの特徴は、
- GPLライセンスのソースコードを自由に利用・改変し、作成したソフトウェアを再配布してもよい。
- ただしそのように再配布したソフトウェアにもGPLが適用される。
- つまり、再配布したソフトウェアにおいてもソースコード公開が義務付けられる。
これが問題になるのは、
- GPLライセンスのオープンソースを取り込んで、自社ソフトウェアを作って販売した
という場合。GPLライセンスに従えば、この自社ソフトウェアもソースコードの公開義務が生じます。
商用ソフトウェアを開発するときは、GPLは伝搬する、ということは注意しておきましょう。
あまりよい言い方ではないですが、ライセンス感染、GPL汚染、といった言われ方もします。
AIが作るプログラムの著作権は?
人が作ったプログラムには、著作権がある。ではAIが作ったプログラムはどうなるのでしょう?
実際のところ明確な基準はない
AIと著作権の関係については、実に様々は意見が交わされています。
文化庁でも議論が行われており、考え方が取りまとめられています。
このような意見が取り上げられています。
- 人間の創作的寄与がない場合、著作物とは認められない
- 人間が創作的に関与している場合は、著作物として保護される可能性がある
ただ全体的に見れば、著作権侵害リスク低減を図るための、おおまかな方針が示されるに留まっています。
結局、実際のところは、
というのが実情。
おおよそ、世論では、次のような議論となっています。
- 著作権は、人の「思想または感情の創作的な表現」により作られたものに適用される
- そのため、人ではないAIが作成したものには、著作権が存在しないと考えられる
- ただしその生成物に、既存著作物との「類似性」「依拠性」があるなら、著作権侵害の可能性がある
つまるところ、
- すでにあるものと似ていなければ、自由に使っていい
- すでにあるものと似ているならば、議論が必要
ということなのですが、「似ている」をどう判断するかは、なかなか微妙なところです。
なぜAIの著作権が問題になるのか
なぜ、ここまでAIの著作物が問題になるのでしょうか?
その理由は、いまのAIが、深層学習(ディープラーニング)という手法を使っているから。
ディープラーニングは、ごく簡単にいうと、以下のようなことを行います。
- AIにあらかじめ、既にある大量のデータを学習させておく
- AIに質問すると、AIは質問の特徴を分析する
- 質問の特徴から、学習済のデータを色々組み合わせて、回答を作成する
世間で使われている生成系AIの学習量は、相当なものです。GhatGPT-4では1000億個以上のパラメータが使われているといわれます。
そしてその学習のとき、既存の著作物も、数多く使います。
少なくとも日本の著作権法30条の4では、学習のための著作物利用は、営利・非営利を問わず認められています。
するとなにが起こるのか。
AIが作る生成物が、既存の著作物と、非常に似たものになるときがある
そのような生成物の著作権は、誰に帰属するのか?
- 学習データを作成した者か?
- AIアルゴリズムを作成した者か?
- AIを使って生成した者か?
- それとも著作権を持つ者はいないのか?
これに明確な結論が出せていないのが現状です。少なくとも今の段階では、その都度判断していくしかありません。
まとめ
著作権は、個人で利用しているときには問題になりません。
オープンソースでもAI生成物でも、「優れたコードを見て勉強したい」「研究のために動かしてみたい」というときには、多いに使いこなしましょう。
問題は、営利目的で利用する場合。以下は注意しましょう。
- オープンソースを利用する場合は、そのオープンソースのライセンス条項をよく確認すること
- AI生成物を利用する場合は、専門家に確認すること
最後に大事なこと。
現在のプログラミングは、偉大な達人が作成された数々のオープンソースに支えられています。ぜひ感謝をしつつ使いこなしてください。
コメント