【AWSDevDay2023Tokyo】セッションレポート『「生成系 AI 」と「ソフトウェアライセンス」の今』

こんばんは、KDDIアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャアジャ

失礼しました、機械翻訳だとどうもうまくいきませんね。

あらためまして、こんばんは。
KDDIアジャイル開発センターのはしもと（仮名）です

2023年6月22-23日の2日間にわたり **AWS Dev Day 2023 Tokyo** がオフラインで開催されました！
私も2日目の午後だけでしたが参加することができましたので、聴講したセッションのレポートをお届けします

https://aws.amazon.com/jp/events/devday/japan/


## はじめに

セッション名は、**「生成系 AI 」と「ソフトウェアライセンス」の今**
登壇者は、アマゾンウェブサービスジャパンの [松田さん](https://twitter.com/mats16k) です
（以前からオハヨーAWSはじめ、個人的に大変お世話になっています）

本セッションでは、最近大盛り上がりの生成AIの登場を踏まえつつ、最新のソフトウェアライセンスについて知ることができます

オープンソースソフトウェア(OSS)とソフトウェアライセンスの歴史から始まり、各ライセンスの要点、また関連する重要な要素である **「著作権」** について、開発者は何を意識すべきか、どうやってその負担を減らせるかについて話されています

https://speakerdeck.com/mats16/generative-ai-and-oss-license-aws-devday-2023

## OSSとは何か、そしてその歴史

**OSSの基本概念は、IT時代の前から存在していました** 
特定の個人や企業が開発するのではなく、コミュニティ全体が作り上げていく「集団的発明」という概念があり、例えば、18世紀の蒸気機関や19世紀の高炉技術などがこれに該当します

1974年に著作権法にソースコードに関する記載が登場し、ソースコードのみが著作権の対象となりました。
これにより、開発がどんどんクローズドになる中で、1984年にフリーソフト財団が発足し、その後オープンソースイニシアチブへと発展しました

現在のオープンソースの形が確立されたのは、**実はここ20年の話だそう**

## フリーソフトウェアからオープンソースソフトウェアへ

フリーソフトウェアファンデーションが定義する4つの基本的な自由は以下の通り：

- **実行する自由**
- **研究し、改変する自由**
- **コピーを再配布する自由**
- **改変版を配布する自由**

一方、オープンソースソフトウェアと呼ばれるものは、これとは別にオープンソースイニシアチブが提起した10個の定義が用いられます。
1. **無料で再配布可能であること**
1. **配布物にはコンパイルされたバイナリだけでなく、ソースコードも含まれること**
1. **改変や派生した作品を認め、それらを派生元のライセンスと同じ条件での配布を認めること**
1. **改変や派生物を配布するときは、それが改変したものであることを明示すること**
1. **いかなる個人・団体に対しても差別的でないこと**
1. **特定の事業分野での利用のみを許可するなど、制限を設けないこと**
1. **プログラムを再配布する場合においても、当事者による新たなライセンス締結を必要とせず、元々のライセンスが適用されること**
1. **プログラムが特定のソフトウェア・ディストリビューションの一部であることに依存しないこと**
1. **ライセンスされたソフトウェアと共に配布される他のソフトウェアに制限を加えないこと**
1. **技術全般に対して中立的であること**

https://opensource.org/osd/

## オープンソースソフトウェアがもたらす価値

オープンソースソフトウェアは、法的革新とプロセス・ツールの革新の両方をもたらします

- **法的革新**：開発者の摩擦軽減
今までは個別に検討する必要があったライセンス問題を、オープンソースライセンスに従うことで解決できます。開発者が楽ちんになるね！

- **プロセスとツールの革新**：開発者のコラボレーションとガバナンスが向上します

## 成功するビジネスとオープンソース

オープンソースとビジネスモデルは密接に関連しています
サポートを提供してお金を得るなど、ビジネスモデルを成り立たせるためには適切なライセンスが必要です
**これらは両輪となってビジネスを成立させます**

## オープンソースソフトウェアライセンス

オープンソースソフトウェアライセンスは、著作者がどれだけの権利を要求するかによって分類されます

大きく **寛容型** と **コピーレフト** の2つに分けられますが、いずれもオープンソースの定義には準拠している必要があります

## コピーレフト

コピーレフトの主な目的は、**自由に使用、改変、頒布されることを許可しつつも、それらの変更版や派生作品も同じように自由に利用できるようにする** ことです

ただし、元のソフトウェアのライセンスを維持する必要があり、ビジネスで使用する際には注意が必要です
→ **Why?：事業で使用しているコードを公開する必要があるから**

## 代表的なオープンソースソフトウェアライセンス

以下に、代表的なオープンソースソフトウェアライセンスをいくつか紹介します

- **MITライセンス**：寛容型のライセンスで、使用・複製・変更及び配布の自由を提供します
- **Apache License 2.0**：使用、複製、変更、および配布の自由を提供します。Apache License 2.0のもとで配布されるソフトウェアの派生物は、「異なるライセンス」でリリースすることが可能です
- **GNU General Public License (GPL)**：使用、複製、変更および配布の自由を提供します。GPLはコピーレフトの一種で、GPLのもとで配布されるソフトウェアの派生物は、GPLで公開する必要があります
- **Lesser General Public License (LGPL)**：GPLをベースに一部を緩和したライセンスです

## 生成系AIとソフトウェアライセンス
**Amazon CodeWhisperer**：生成AI技術を用いたサービス。人間が書いたコードを学習し、新たなコードを生成することができます

**Q. 学習元となるコードのライセンスや著作権はどう扱われる？**
→ （文化庁の見解）モデルの「学習」と「推論（生成）」は区別して考える
**特に利用者側が気にする必要があるのは後者**

オープンソースソフトウェアを利用するためには、ライセンスによって課せられた義務を順守するか、著作権法に基づくフェアユースである必要があります

## 開発者が著作権侵害を起こさないためにできること
**利用ライブラリ等のライセンス内容を手当たり次第確認する**
- LicenseCheck
    - Python製のツール
    - ライブラリの依存関係をたどりながらライセンスのチェックを行う
- CI/CD パイプラインに組み込んで継続的に検査するのがベスト！
    - CI/CD...アッ...アッ...（心の声）

**AIの生成物が著作権を侵害していないか確認し、参照元に応じて必要な対応を取る**
- CodeWhisperer リファレンストラッキング
    - 学習データに似たコードにフラグを付与し、**出典元を追えるようになっている**
    - 上記に該当するコードの提案を無効化することもできる
    - **開発者が意図せず著作権を侵害しないための仕組み**
        - ほんと気が利くいい子ね...

## 所感

オープンソースソフトウェアとそのライセンスについては、各特性や要件を理解することがまず第一に必要です
一方で、それらを暗記しておくのは個人的には現実的ではないので、必要なときにいつでも引き出せるよう、自分の中で咀嚼しておこうとあらためて感じました

また、既に各所で議論が交わされていますが、生成AIにはコード生成だけでなく画像や映像、音声などさまざまな種類のコンテンツを生成するモデル・サービス開発が進んでいます

法令違反や著作権侵害は、個人でももちろんですが、ことさら企業内の話となれば、組織の信頼に大きく影響を与えるものです
これについては、「生成AIで稼いだる！！！」と意気込んでいるどの組織も慎重にならざるを得ないと思っていますが、かといって生成AIを巡るビジネス競争は待ってくれるものではありません

今後の動向も引き続き注視していこうと思います。

以上、はしもと（仮名）でした！