オープンソースライセンスとLLM

# はじめに

OpenChain Japan Work Group - FAQサブグループのリーダを担当しております。
好きなライセンスは The Beer-ware License🍺 です。

FAQサブグループの紹介は過去に2回ほど（[1回目](https://qiita.com/n-shima/items/b30df3a727c3848c15b9) / [2回目](https://qiita.com/n-shima/items/d594398653a167efc066)）やっていて正直ネタ切れなので、今回はLLMで遊んでみました。

# オープンソースライセンスとLLM

というわけで、適当にLLMに
`ソースコード開示が必要なライセンスと、開示不要なライセンスをそれぞれ30個ずつリストしてください。`
という（意図的に）意地悪な質問を投げてみました。

結果は、こんなかんじ。

:::note alert
ご注意
以下のLLMの出力はいくつか明らかに間違っています。くれぐれもこの出力を信用しないでください。

CAUTION
Some of the LLM output below is obviously wrong. Do not trust this output.
:::

>了解しました！以下にソースコードの開示が必要なライセンスと不要なライセンスをそれぞれ30個ずつリストします。
>
>### ソースコード開示が必要なライセンス
>1. **GPL (GNU General Public License)**
>2. **AGPL (GNU Affero General Public License)**
>3. **MPL (Mozilla Public License)**
>4. **EPL (Eclipse Public License)**
>5. **CPL (Common Public License)**
>6. **EUPL (European Union Public License)**
>7. **OSL (Open Software License)**
>8. **CECILL (CEA CNRS INRIA Logiciel Libre)**
>9. **SISSL (Sun Industry Standards Source License)**
>10. **GPLv2 (GNU General Public License version 2)**
>11. **GPLv3 (GNU General Public License version 3)**
>12. **LGPL (Lesser General Public License)**
>13. **GPL-2.0-only**
>14. **GPL-2.0-or-later**
>15. **GPL-3.0-only**
>16. **GPL-3.0-or-later**
>17. **AGPL-3.0-only**
>18. **AGPL-3.0-or-later**
>19. **EPL-1.0**
>20. **EPL-2.0**
>21. **CDDL (Common Development and Distribution License)**
>22. **IPL (IBM Public License)**
>23. **NPL (Netscape Public License)**
>24. **SPL (Sun Public License)**
>25. **RPL (Reciprocal Public License)**
>26. **APSL (Apple Public Source License)**
>27. **ECL (Educational Community License)**
>28. **MS-PL (Microsoft Public License)**
>29. **ZPL (Zope Public License)**
>30. **QPL (Q Public License)**
>
>### ソースコード開示が不要なライセンス
>1. **MIT License**
>2. **BSD 2-Clause License**
>3. **BSD 3-Clause License**
>4. **Apache License 2.0**
>5. **Unlicense**
>6. **ISC License**
>7. **Zlib License**
>8. **Boost Software License 1.0**
>9. **CC0 1.0 Universal (Creative Commons Zero)**
>10. **WTFPL (Do What The F*ck You Want To Public License)**
>11. **X11 License**
>12. **Python Software Foundation License**
>13. **PHP License**
>14. **Ruby License**
>15. **Perl Artistic License**
>16. **ECL (Educational Community License)**
>17. **NCSA License**
>18. **OpenSSL License**
>19. **PostgreSQL License**
>20. **SIL Open Font License**
>21. **MIT-0 License**
>22. **BSD-4-Clause License**
>23. **BSD-3-Clause-Clear License**
>24. **BSD-3-Clause-Attribution License**
>25. **BSD-3-Clause-LBNL License**
>26. **Apache License 1.1**
>27. **Apache License 1.0**
>28. **JSON License**
>29. **Libpng License**
>30. **Microsoft Reciprocal License (MS-RL)**
>
>これでリストが30個ずつになりました。何か他に知りたいことがあれば教えてくださいね！

はい。明らかに嘘（ハルシネーション）がいくつか出ていますね。続けてみましょう。

:::note warn
ご注意
こちらも結構怪しいですので鵜呑みされませんよう。

CAUTION
This is also quite suspicious, so don't take it with a grain of salt.
:::

`MS-PL (Microsoft Public License)の責務について教えて`

>Microsoft Public License (MS-PL) の主な責務について説明します。
>
>**MS-PLの主な責務**
>1. **著作権、特許、商標、帰属通知の保持:**
>
>    - ソフトウェアを配布する際には、元の著作権、特許、商標、および帰属通知を保持する必要があります。
>
>2. **ソースコードの配布:**
>
>    - ソースコード形式でソフトウェアを配布する場合、MS-PLライセンスの完全なコピーを含める必要があります。
>    - コンパイル済みまたはオブジェクトコード形式で配布する場合、MS-PLと互換性のあるライセンスの下で配布する必要があります。
>
>3. **商標の使用制限:**
>
>    - 貢献者の名前、ロゴ、または商標の使用権は付与されません。
>
>4. **責任の免除:**
>
>    - ソフトウェアは「現状のまま」提供され、使用に伴うリスクは利用者が負います。明示的な保証はなく、適用される法律の範囲内で暗黙の保証も排除されます。
>
>5. **特許クレームの制限:**
>
>    - ソフトウェアに対して特許クレームを提起した場合、その特許ライセンスは自動的に終了します。
>
>MS-PLは、ソースコードの開示義務がない点で他のコピーレフトライセンスとは異なりますが、配布時の通知保持やライセンスの互換性に関する条件があるため、使用する際には詳細を確認することが重要です。
>
>他に知りたいことがあれば教えてくださいね！

`2. **ソースコードの配布:**` とか言っておきながら〆で `MS-PLは、ソースコードの開示義務がない点で～` とも言っていて非常に誤解のある表現になっていますね。しかもあなたソースコード開示が必要なライセンスにリストしてたじゃないか…。

もうひとつ。
`Microsoft Reciprocal License (MS-RL) の責務について教えて`

>Microsoft Reciprocal License (MS-RL) の主な責務について説明します。
>
>**MS-RLの主な責務**
>1. **ソースコードの開示:**
>
>    - MS-RLライセンスのコードを含むファイルを配布する場合、そのファイルのソースコードを受信者に提供し、このライセンスのコピーを含める必要があります。
>
>2. **同一ライセンスでの配布:**
>
>    - MS-RLライセンスのコードを含むファイルは、同じMS-RLライセンスの下で配布する必要があります。
>
>3. **著作権および特許の通知保持:**
>
>    - ソフトウェアの配布時には、元の著作権、特許、商標、および帰属通知を保持する必要があります。
>
>4. **特許クレームの制限:**
>
>    - ソフトウェアに対して特許クレームを提起した場合、その特許ライセンスは自動的に終了します。
>
>5. **商標の使用制限:**
>
>    - このライセンスは、貢献者の名前、ロゴ、または商標の使用権を付与しません。
>
>6. **「現状のまま」提供:**
>
>    - ソフトウェアは「現状のまま」提供され、使用に伴うリスクは利用者が負います。明示的な保証はなく、適用される法律の範囲内で暗黙の保証も排除されます。
>
>MS-RLは、ソースコードの開示と同一ライセンスでの配布を求める点で、他のコピーレフトライセンスと似ていますが、特定の条件や制限があるため、使用する際には詳細を確認することが重要です。
>
>他に知りたいことがあれば教えてくださいね！

間違ってなさそうに見えるけどこれも最初の問いで`ソースコード開示が不要なライセンス`に分類してたね…。

# まとめ
こんなに自信満々で言われるとついつい信じたくなってしまいますが、やはりまだLLMの出力はちゃんと検証する必要があります。この誤りは実際にライセンス文を読んでみないと気づけないので、きちんと自分で読んで理解することが重要です。

というわけで、LLMは便利だけど、ちょいちょいアレなところがあるので使い方には気を付けましょう！（自戒含む）

# English Summary

When I asked LLM to list 30 licenses that require and do not require source code disclosure, several halcynics occurred. When I asked LLM to describe the responsibilities of one of them, it produced a misleading statement.

It turned out that LLM's output still needs to be verified and not swallowed.