AGPL ライセンスについてです。
互恵ライセンス
AGPL は互恵ライセンスです。GPL と大筋は同じで、ソフトウェアの改変や商用利用が許可されたライセンスです。GPL と異なる点は、ネットワーク経由の利用であっても、利用者に自由を保証することです。
たとえば、発注者がウェブ制作会社にウェブサイト制作を依頼し、ウェブ制作会社の契約するサーバー上でCMSが動いている場合を考えて見ましょう。このような場合の発注者は、GPLライセンスでは「自分がどんなソフトウェアを使っているか」を知る権利が保証されません(この弱点はASPループホールと呼ばれています)。一方、AGPLでは、このような場合の発注者も権利が保証されます。
つまり、利用形態を問わず、利用者は、自分がどんなソフトウェアを使っているか、知る事ができます(ウェブサービス等に自分が登録した個人情報がどう管理されているか分からなくて不安になる、というような事態が避けられます)。利用者は、AGPL ライセンスのソフトウェアを改変したり再配布したり商用利用したりすることも許可されます。ユーザー目線のライセンス、と考えると分かり易いでしょう。A/B テストのようなアプリケーションを使うサイトであれば、ネットワーク経由の利用者が、自分がどのようなサイトにアクセスして、どのような操作をしているか、通知されるのが好ましいでしょう。
比較的新しいライセンスですが、いくつかのプロダクトが AGPL を採用しています。私が触ったことのあるソフトウェアの中ではMongoDB,OSRM,Novius OS が AGPL ライセンスです。派生物のライセンスが元のコードと同一であるため、世界中の誰が行った改変であれ、コアに取り込むことができます。他の人にも役立つ改変がコアに取り込まれることでソフトウェア自体が改善されます。ソースコードが共有されるため、開発効率も良くなります(車輪の再発明を極力減らすことができる)。ライセンス自体の紹介は、下のスライドが分かり易いと思います。
また、私は使ったことがないプロダクトですが、SugarCRM のサイトエンドユーザ目線で考えるオープンソースライセンスには、
一つ覚えてもらいたいことは、「オープンソースライセンスはエンドユーザの権利を最大限に守ることを目的としている」ということです。
と記載されています。発注者の立場重視という考え方です。
ソースコードの公開義務
AGPLでは、GPL同様に、「派生物に同一ライセンスを適用する」「利用者が改変することを許可する」「利用者が商用利用することを許可する」「利用者がソースコードを要求した場合に提供する」といったルールが定められています。(もちろん他にもあります。詳細はライセンス条文をお読みください。)
「利用者がソースコードを要求した場合に提供する」というのはルールですから、プログラムを利用する以上は従わなければなりません。ここで問題となるのが、利用者が誰か、です。
利用者とは?interactとは?
AGPL の第 13 条は下記のようになっています。
if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network
気になるのは、ネットワーク経由でソフトウェアと相互作用する利用者(all users interacting with it remotely through a computer network)に、誰が含まれるのか、です。
ネットワーク経由でログインして(書き込み等の)処理を実行するユーザーの場合、interact とみなされるのは間違いないでしょう。では、ウェブサイトを閲覧する人はどうでしょうか。こちらは確実なことが分かりません。
Novius OS の開発チームは、「ウェブサイトを閲覧する人までは含まなくてよいだろうが、法律上は確かなことは言えない、国毎に異なる可能性もあり得る」というような回答でした。私の知る範囲でも AGPL に関する訴訟はまだ無いようです。なのでこの点は確実ではないですね。
先日の Novius OS の紹介スライドも修正しました。ログインする利用者が配布対象者なのは確実ですが、利用者の範囲はもっと広い可能性があります。
対処はどうするか
確実なことは分からないので、「このサイトは Novius OS で構築されており、コードが入手できます」といった記載をサイトのどこかに記載するのが無難でしょう。