AGPLライセンス

AGPLライセンス

AGPLライセンスについての概要と説明

AGPL(Affero General Public License)は、GNU General Public License(GPL)の一種であり、特にネットワークを通じてソフトウェアを提供する際の自由と共有を強化するために設計されたオープンソースライセンスです。AGPLは、GPLv3に基づいており、通常のGPLと同様にソフトウェアの改変と再配布に関して強力な自由を提供しますが、ネットワーク経由で利用されるソフトウェアにもソースコードの公開義務を課す点で異なります。

AGPLライセンスの特徴

AGPLライセンスの主な目的は、ネットワーク経由でのソフトウェア利用においても、ソフトウェアのユーザーに対してそのソースコードを入手する権利を保証することです。これは、クラウドサービスやWebアプリケーションでの利用が広がる中で、GPLの精神を適用するために設計されています。

  • ネットワーク経由での利用時にもソースコード公開が義務化: 通常のGPLライセンスでは、ソフトウェアを改変して配布する際にソースコードを公開する義務がありますが、AGPLはこれをさらに拡張し、ソフトウェアをネットワーク経由で利用可能にした場合(例: Webアプリケーション)にも、ソースコードの公開を求めます。
  • ソースコード公開の徹底: ネットワークを通じてソフトウェアを利用できるようにした場合、そのサービスを提供する側は改変されたソースコードを提供する必要があります。これにより、ユーザーがソフトウェアの自由な利用と改変を保証されます。
  • GPLv3との互換性: AGPLはGPLv3に基づいているため、同様の自由と義務を持ちます。つまり、AGPLライセンスのソフトウェアは、GPLv3ライセンスのソフトウェアと組み合わせて使用することができます。

AGPLライセンスの利点

AGPLライセンスの利点は、特にクラウドやWebアプリケーションのようなネットワーク経由でソフトウェアが提供される状況において、ソフトウェアの利用者に対してもソースコードの自由を提供する点にあります。

  • クラウド環境での自由の確保: クラウドやWebサービスで提供されるソフトウェアは、AGPLライセンスの下で提供されることで、ユーザーがそのソースコードを入手し、改変して再配布する権利を保証されます。これにより、プロプライエタリなサービスによってソフトウェアの自由が制限されることを防ぎます。
  • オープンソースの普及促進: AGPLは、ネットワークサービスを提供する企業がオープンソースソフトウェアを利用する際に、ソースコードを公開する義務を課すため、オープンソースの普及を促進します。
  • ソフトウェアの共有促進: AGPLは、ソフトウェアの改変がネットワーク経由で利用可能にされても、改変版のソフトウェアが広く共有されるように促進します。

AGPLライセンスと他のライセンスとの違い

1. AGPL vs. GPL

AGPLとGPLは非常に似ていますが、AGPLは「ネットワーク経由での提供」に対してもソースコードの公開義務を追加しています。GPLでは、改変したソフトウェアを配布しない限り、ソースコードを公開する義務はありませんが、AGPLでは、Webサービスやクラウドサービスとしてソフトウェアを提供した場合にも、改変したソースコードの公開が義務付けられます。

2. AGPL vs. MIT/BSDライセンス

MITライセンスやBSDライセンスは、AGPLに比べて非常に緩やかで、ソースコードの公開義務がありません。これらのライセンスは、ソフトウェアの使用、改変、再配布を自由に行うことを許可しますが、AGPLのようにネットワーク経由でのソフトウェア提供時にソースコードの公開を義務付けるものではありません。

AGPLライセンスの適用例

AGPLは、特にクラウドサービスやWebアプリケーションなど、ネットワークを介してソフトウェアを提供するサービスにおいて利用されることが多いライセンスです。以下は、AGPLライセンスが適用されている代表的なソフトウェアです。

  • Mastodon: 分散型のソーシャルネットワーキングサービスであり、AGPLライセンスの下で提供されています。
  • MongoDB: NoSQLデータベースで、AGPLライセンスが適用されています(現在のバージョンでは別のライセンスが使用されていますが、以前のバージョンはAGPLでした)。
  • CouchDB: 分散データベースで、AGPLライセンスを採用しています。

まとめ

AGPL(Affero General Public License)は、ネットワークを介してソフトウェアが提供される際にも、ソフトウェアの自由と共有を保証するためのライセンスです。クラウドやWebサービスが主流となる現代において、AGPLはオープンソースの価値を広げ、ユーザーがソフトウェアの自由な利用と改変を行う権利を保護するために重要な役割を果たしています。