In this article
AGPLライセンスはオープンソースプロジェクトに適している?
開発者は、ソフトウェアライセンス要件への対応は法務部門の責任だと考えがちです。しかし、利用できるオープンソースコンポーネントは数多くあり、ライセンス要件が及ぼす影響も大きいため、開発者は少なくとも、ライセンスの種類やそれぞれがソフトウェアに与える影響について基本的な知識を身につけておく必要があります。
プロジェクトが後々直面する可能性のある影響を考えると、チームはソフトウェアに適用されるすべてのライセンス要件を確認する必要があります。ソフトウェアを更新または変更してリリースする前に、組織はライセンスコンプライアンスの完全な監査を実施する必要があります。プロジェクトの各段階でこれを行えば、将来の問題を回避できます。確認すべきライセンスの一つが、GNU Affero General Public License(AGPL)です。
AGPLとは?
AGPLライセンスについて説明する前に、その起源を知っておくことが大切です。1988年、Richard Stallmanは、クリエイターがソフトウェアを常にオープンソースとして公開し続けられる権利を確立することを目指し、General Public License(GPL)を作成しました。以前の文面に抜け穴を生じさせる問題があったため、GPLは現在、第3版(GPLv3)となっています。
GPLv3の一環として、Free Software Foundation(FSF)は、Lesser General Public License(LGPLv3)とAffero General Public License(AGPLv3)という2種類のライセンスも提供しました。General Public LicenseのAGPL版は、これを使用するすべてのソフトウェアに完全なコピーレフトの権利を適用することを目的としています。
AGPLライセンスのメリットとデメリットは?
標準的なGPLライセンスでは、開発者がソフトウェアをリリースすると相互主義条項が適用されます。コピーレフトの原則は、すべてのソースコードをオープンソースコミュニティに公開することを目指しています。AGPLを使えば、サーバー側アプリケーションであっても、コードベースへのすべての変更を一般に公開することを徹底できます。
AGPL 3.0、LGPL 3.0、標準的なGPL 3.0のうちチームに最適なものは、ソフトウェアの最終的な目的によって異なります。コピーレフトライセンスは、以降の変更をすべてコミュニティに公開したい開発者に適しています。一方、MITライセンスのような許諾的ライセンスなら、将来的に変更を加えたソフトウェアをプロプライエタリにする自由度が高まります。
AGPLのメリットには、次のようなものがあります。
プロジェクトの早い段階で、チームがライセンスに関する方針を検討し、その決定に責任を持つよう促す。
オープンソースコミュニティが開発したコードスニペットを常に利用可能な状態にし、他者によるオープンソースソフトウェアの再パッケージ化や販売を防ぐ。
AGPLのデメリットは次のとおりです。
他のすべてのコードもGPLソフトウェアにする必要があるため、AGPLパッケージの利用を避けるチームもある。
AGPLを使用する依存パッケージのモジュールが一つでもあると、他のすべてのソフトウェアにも同様の制限が適用されるため、過剰だと考える人もいる。
将来的にソフトウェアをプロプライエタリにする選択肢がなくなる。
企業はAGPLソフトウェアを利用できますか?
AGPL V3ライセンスは誰でも利用できますが、組織での採用は一般的ではありません。AGPLソフトウェアの以降のバージョンに適用される制限は、商業的な利害が競合する場合に採用を難しくします。
多くの企業は、オープンソースコンポーネントを利用しながら、将来的にはソフトウェアを商用製品にできる自由を得られる許諾的ライセンスを好みます。AGPLのようなコピーレフトライセンスでは、こうした自由が得られないためです。
コピーレフトライセンスとは?
コピーレフトライセンスは、StallmanがGNU宣言で支持した原則を徹底するものです。1960年代には、開発者が他者の役に立つソースコードをすべてオープンに共有することが一般的で、コミュニティと協業の意識が育まれていました。1980年代になると、組織がソースコードに著作権を適用し始め、この流れは廃れていきました。コピーレフトは著作権とは逆の考え方で、GPLのようなコピーレフトライセンスが適用されたソースコードを使用、変更、再配布する権利を保障します。
クローズドソースのアプリケーションでAGPLを使用できますか?
AGPL V3ライセンスは強力なコピーレフトライセンスであり、過去のあらゆる著作物から派生したすべてのコンポーネントをオープンソースにすることを求めます。ソフトウェアをリリースしなければソースコードを公開しなくてよいという、サーバー側の抜け穴を塞ぎます。AGPLでは、公開されているサーバー側アプリケーションにアクセスするすべての人をユーザーと定義しています。組織のネットワーク内で稼働するアプリケーションの場合、AGPLによってソースコードの公開が求められることはありません。
AGPLv3ライセンスはGPLv3と互換性がありますか?
GPLv3ライセンスに基づく著作物とAGPLソフトウェアを組み合わせても、変更していない著作物にはGPLv3ライセンスの権利を維持できます。GPLv3の著作物を変更した場合、そのバージョンにはAGPLv3ライセンスを適用する必要があります。
AGPLはオープンソースライセンスの中でも制約が厳しいため、現在利用されているのはオープンソースプロジェクトの1%未満です。
Snykで効果的なライセンスコンプライアンス管理を実現
ライセンスコンプライアンスを適切に管理したいチームを、Snykが支援します。開発者ファーストのライセンス管理ツールで、コードベース内のパッケージと依存関係を明確に把握できます。開発者がライセンスコンプライアンスを理解し、管理できるよう支援することで、将来プロジェクトに予期せぬ問題が生じるのを防ぎます。オープンソースの著作物から派生したすべてのコンポーネントが、会社のライセンス要件に適合しているかどうかを、Snykのライセンスコンプライアンス管理ソリューションで確認できます。
SnykがチームのAGPL Version 3ライセンス管理にどう役立つか、デモを予約 するか、 無料トライアルを開始 してご確認ください。