OSC Nagoya で AGPL ライセンスの話をしました
オープンソースカンファレンス名古屋2015が名古屋国際センターで開催されました。
今回は、技術的な話から少し外れて、ライセンスの話をしてきました。
AGPL ライセンス
オープンソースライセンスでは、MITやGPLが有名です。これらと比較すると、AGPLはマイナーなライセンスです。AGPLの特徴としては
- コピーレフト(派生物は同一ライセンスが要求される)
- ネットワーク経由での利用について明記している
といった点があります。
ネットワーク経由での利用
MITライセンスは、ユーザーにコード提供義務はありませんが、GPLはユーザーにコード提供義務があります。プログラム自体をダウンロードする場合は、ユーザーの範囲が明確ですね。しかし最近では、インターネットが普及し、通信速度も向上したため、ネットワーク上にあるプログラムをネットワーク経由で利用する、というケースも増えてきました。
もし、GPLライセンスのソフトウェアをベースにネットワーク経由で利用するウェブサービスを展開する場合はどうでしょうか?
GPLバージョン2では、ネットワーク経由での利用について、条文で言及していません。GPLバージョン2が策定されたのは1991年頃です。当時としては、ネットワーク経由での利用は通信速度などの点で非現実的だったのでしょう。このため、ネットワーク経由での利用に言及していないのだと思われます。その結果として、ネットワーク経由の場合にはGPL本来の想定(ソフトウェア利用者はソースコードを受け取れる=動作の仕組みを自分で確認できる)とは異なる使い方をされるケースもあるようです。
しかし、時代の流れもあり、ネットワーク経由での利用が増えているため、ライセンスでも考慮したほうが良いかもしれません。今回取り上げるAGPLライセンスでは、ネットワーク経由で利用する場合についてライセンス条項として規定があります。
AGPLライセンスを採用しているソフトウェアは、MongoDB, Novius OS, Mastodon等があります。
使ってみて気づいた AGPL ライセンスの メリット・デメリット from Fumito Mizuno
フィードバック
私がかかわっているものでは、Novius OSがAGPL3です。派生物と元のソフトウェアとのライセンス衝突が生じないため、コアへのフィードバックを行い易いライセンスです。実際、Novius OS開発元もフィードバックを歓迎しています。日本語対応させたとき、Novius OS Chibaと、わざわざ日本の都市名を入れて告知してくれました。今まで私がかかわったことのあるソフトウェアで、コアへのフィードバックを最も歓迎してくれているソフトウェアだと思います。
ビジネスモデル構築
AGPL ライセンスを使う場合は、ビジネスモデルも検討しておかなければなりません。開発元はウェブサービス利用料で稼ぐ、というビジネスがまず固いでしょう。一方、サードパーティとして参加する場合は難しいかもしれません。
私の場合は、「自分でサーバー管理するよりウェブサービスに乗っかるほうが楽」「AGPLなら、ウェブサービスを使うだけでなく、改善にコミットできる」という点が良いと判断しました。
発表と質疑応答から
参加者では、MongoDBに興味を持っていた方がいました。
MongoDBのライセンスは、 本体がAGPL3、ドライバがApache2、という形式です。これにより、「MongoDB自体の改変は公開する必要がある。MongoDBと通信するプログラムについては公開する必要はない。」を実現しているらしいです。ただし実際にそのような解釈になるのかどうかは、判例が出ない事には確定しないだろう、と思われます。Free Software Foundationは、もしかしたらMongoDBとは見解が異なる可能性もあります。
コードシェアを選択するかどうか
AGPLライセンスは、コードシェア(共有)に重点が置かれています。このため、「コードを共有する」選択をする場合は楽です。ソフトウェア本体のコードはもちろん、他の方のコードを自由に利用することができ、ライセンス同士の衝突を気にする必要もありません。
一方、「コードを共有しない」が関わりたい、自分のコードはオープンソースではなく制限されたライセンスにしたい、という人にはメリットが感じにくいライセンスです。このような場合は、MITなどの寛容なライセンスのほうが好ましい、と判断されるかもしれません。逆にMITライセンスのソフトウェアを使う場合は、派生物はライセンスが異なる可能性がある、という点に注意が必要ですね。