コンテンツにスキップ

広聴AIのライセンス:分析・公開・改造で気をつけること

広聴AIは AGPL-3.0 というオープンソースのライセンスで提供されています。 仕事や研究にも利用できます。手元で分析したり、分析結果のデータだけを公開したりすることを理由に、あなたのコードを公開する必要はありません。

まずは、やりたいことに近い行を見てください。

やりたいこと ソースコードの公開・提供は?
自分のPCで分析する その利用だけでは不要です
結果の文章・数値・JSONを掲載、納品する 原則として不要です
出力されたHTMLをそのまま公開する 公開できます。自動で付くライセンス案内・ソースのダウンロード機能を残してください
自作プラグインを手元でだけ使う その利用だけでは不要です
広聴AIや本体と一体になる拡張を他の人へ配る 受け取る人へのソース提供など、配布条件を満たす必要があります
改造した広聴AIをネットワーク越しに使ってもらう その利用者が、改造版のソースを入手できるようにします

「ソースコード」は、プログラムを読み、変更するための元のコードです。分析に入力したCSVなどの「元データ」とは別のものです。

手元で分析するだけでも、何か公開する必要がありますか?

ありません。自分のPCで広聴AIを動かす、分析の処理を変更する、自作プラグインを試す、といった使い方だけでソース公開義務が生じるわけではありません。

作ったプログラムを他の人に配ったり、改造版をネットワーク越しに利用してもらったりするときには、下の説明を確認してください。

分析結果をWebサイトに載せたり、相手に渡したりできますか?

できます。例えば、分析結果の文章や数値を記事に載せる、出力したJSONを自作サイトで表示する、といった使い方です。広聴AIを使ったというだけで、掲載先のサイトや、手元の分析用コードまでAGPLになるわけではありません。

ただし、広聴AIの表示用プログラムも一緒に公開する場合は、次の「HTMLをそのまま公開する」を読んでください。入力データや第三者の文章などを公開してよいかは、それぞれの権利・利用条件で判断します。

出力されたHTMLをそのまま公開してもよいですか?

はい、公開できます。 HTMLには、次の2つが一緒に入っています。

  • 分析結果:意見、要約、グループ分け、座標などのデータ
  • 表示プログラム:グラフを描いたり、クリックに反応したりするコード

表示プログラムには広聴AIのコードが含まれるため、公開するときは、その著作権・ライセンス・無保証の案内を保ち、ライセンス本文と対応するソースコードを入手できるようにします。

そのまま使うなら、案内を残して公開してください

CLIが生成する report.html の末尾には、表示プログラムのライセンス案内とリンクが自動で付きます。ここには次のものが含まれます。

  • 短いライセンス・無保証の案内と、AGPL-3.0本文へのリンク
  • このHTMLを生成する際に使った表示コード・テンプレート・実行方法・ライセンス本文のダウンロード(ZIP)
  • 元の広聴AIプロジェクトへのリンク

通常の利用者は、この案内とダウンロード機能を残して、そのままHTMLを公開できます。 別途ソースを探してリンクを追加したり、自分のサーバーにソースを置き直したりする必要はありません。長いライセンス本文をレポート画面に表示することはありません。ZIPはHTMLの中に入っているので、ソースを取得するための追加サーバーも不要です。

ZIPに入るのは表示プログラムとライセンス・実行方法です。入力CSVやAPIキー、分析結果データをこのZIPへ追加することはありません。レポート本体には、表示するための分析結果データが含まれます。

以前に生成したHTMLを公開するとき

この案内がない古いHTMLは、対応版のCLIで結果JSONからHTMLを再生成すると、案内を付けられます。Web版の静的サイト出力は別の経路です。この説明で案内の自動付与を扱っているのは、CLIの report.html です。

表示プログラムを変更した場合

グラフの動作などのコードを変更する場合は、表示プログラムのソースを変更してHTMLを再生成してください。再生成したHTMLには、その時点の表示ソースが同梱されます。 変更したことと日付も明示してください。

生成済みHTMLのJavaScriptなどを直接編集すると、同梱ZIPのソースと一致しなくなります。その場合は変更後の対応ソースも提供する必要があります。コードを変更する人は、テンプレートから再生成する方法を使うと管理しやすくなります。

HTMLの公開を理由に、元のCSVや、HTMLに含まれない分析用プラグインまで一律に公開するという意味ではありません。独立したJSONを読む自作の表示ツールと、広聴AIの表示コードをコピー・改造したものも、分けて考えます。

自分で作ったプラグインもAGPLにしなければいけませんか?

手元で作って使うだけなら、公開する必要はありません。 結果データだけを公開・納品する場合も、上の説明と同じです。

プラグインを配布したり、組み込んだ改造版をネットワーク越しに利用してもらったりする場合は、本体との組み合わせ方が関係します。

  • 独立したツール:広聴AIのコードを取り込まず、出力JSONを読むなどして独立して動くツールは、本体がAGPLというだけでAGPLにする必要はありません。
  • 本体と一体で動く拡張:結合したプログラムとしてAGPLの条件を満たす必要があります。自分が書いた部分をMITなどの互換ライセンスで提供することは可能ですが、それによって結合物のソース提供義務がなくなるわけではありません。

現行の分析プラグインは、広聴AIと同じPythonプロセスに読み込まれ、専用のデータ構造や関数を共有します。「プラグインという名前だから、本体とは無関係」とは判断できません。実装はプラグイン開発ガイドを参照してください。

改造版を配ったり、サービスとして提供したりするときは?

自分の手元で使う場合と、次の使い方を区別します。

  • プログラムを配布・納品する場合:受け取る人へのソース提供や、著作権・ライセンス表示など、AGPLの配布条件を満たす必要があります。
  • 改造版をネットワーク越しに使ってもらう場合:その利用者に、改造版の対応するソースを無料で取得できる方法を分かりやすく提供します。有料サービスに限らず、無料や利用者限定のサービスでも対象になり得ます。

ここでいう「提供」は、受け取る人や該当する利用者への提供です。常に全世界へ公開しなければならない、という意味ではありません。

「AGPLのソフトウェアがネットワークで動いている」という事実だけで、周辺のすべてのシステムやデータが公開対象になるわけでもありません。具体的な組み合わせ方と提供方法に応じて判断します。

もう少し詳しく知りたいとき

このページは、よくある使い方に沿った案内です。正確な条件はライセンス本文に従います。特に、プラグインが独立した著作物か、一体のプログラムかという境界は個別の判断になります。

GNUのFAQには一般のGPLに関する説明も含まれるため、サービス提供についてはAGPL第13条も併せて参照してください。