エンベデッドシステムスペシャリスト 2024年 午前2 問21
問題文
小型のセンサーを搭載したモニタリング機器、及びその機器との通信を行ってデータを蓄積し、データを可視化するクラウドサーバのアプリケーションを開発して、サービスを社外に公開する。モニタリング機器のファームウェアは全て自社で開発し、サーバのアプリケーションにはAGPLバージョン3のライセンスで公開されたソフトウェアを改変して使用することを決定した。このとき、ライセンスの趣旨に沿うものはどれか。
選択肢
ア:サーバ側のソースコードを開示する。(正解)
イ:ソースコードの開示は必要ない。
ウ:モニタリング機器側とサーバ側の両方のソースコードを開示する。
エ:モニタリング機器側のソースコードを開示する。
🔒 解説は解答すると表示されます
AGPLのネットワーク利用時の義務【午前2解説】
正解の理由
AGPL version 3(AGPLv3)は、GPLの考え方をネットワーク経由で利用するサービスにも広げたライセンスです。AGPLv3のソフトウェアを改変し、利用者がネットワーク越しにその改変版とやり取りできるサービスとして提供する場合、利用者が改変版のソースコードを入手できるようにする必要があります。
この問題では、クラウドサーバのアプリケーションにAGPLv3のソフトウェアを改変して使用し、サービスを社外に公開します。そのため、サーバ側のAGPLv3対象ソフトウェアについて、サービス利用者にソースコードを提供できるようにする必要があります。したがって、趣旨に沿うのはアです。
一方、モニタリング機器のファームウェアは自社開発であり、AGPLv3のソフトウェアを使ったとは示されていません。サーバと通信するというだけで、ファームウェアまでソースコード開示の対象になるわけではありません。
解法ステップ
-
ライセンスの種類を確認します。
AGPLv3は、ネットワーク経由でソフトウェアを利用させる場合にも、ソースコード提供に関する義務を定めています。 -
AGPLv3のソフトウェアを使う箇所を特定します。
この問題では、改変して利用するのはクラウドサーバのアプリケーションです。 -
利用者との提供形態を確認します。
サービスを社外に公開するため、利用者はネットワーク経由で改変版のアプリケーションとやり取りします。 -
開示義務の対象を絞ります。
義務が生じるのはAGPLv3の対象となるソフトウェアです。独自開発の機器側ファームウェアにまで自動的に及ぶわけではありません。
選択肢別の誤答解説
-
ア サーバ側のソースコードを開示する。
正しいです。AGPLv3のソフトウェアを改変し、ネットワーク越しに利用できるサービスとして提供するため、対象となるサーバ側ソフトウェアのソースコードを利用者が入手できるようにします。 -
イ ソースコードの開示は必要ない。
誤りです。AGPLv3は、ネットワークサービスとして提供する場合にも、改変版のソースコード提供を求める点が特徴です。 -
ウ モニタリング機器側とサーバ側の両方のソースコードを開示する。
誤りです。機器側のファームウェアは自社開発とされており、AGPLv3のソフトウェアを利用しているとは示されていません。サーバとの通信だけを理由に、機器側まで開示義務が広がるわけではありません。 -
エ モニタリング機器側のソースコードを開示する。
誤りです。AGPLv3のソフトウェアを改変して使うのはサーバ側です。機器側のソースコードを開示する根拠はありません。
よくある誤解
-
「ネットワークでつながる機器は、すべて開示対象になる」と考える
通信しているだけで、関係するすべてのソフトウェアが同じライセンスの対象になるわけではありません。ライセンス対象のソフトウェアと、独立した自社開発部分を区別します。 -
「AGPLv3ならソフトウェアを誰にでも無条件で公開する」と考える
ポイントは、改変版とネットワーク越しにやり取りする利用者がソースコードを入手できるようにすることです。利用者への提供義務と、無関係な第三者への一律公開は同じ意味ではありません。 -
「GPLとAGPLはネットワーク提供時も同じ」と考える
AGPLv3は、ネットワーク経由での利用にもソースコード提供の考え方を及ぼす点で、通常のGPLと異なります。
補足コラム
GPL系ライセンスは、ソフトウェアの利用・改変・再配布を認める一方、一定の条件の下でソースコードを利用者に提供することを求めます。AGPLv3では、改変版をサーバ上で動かしてサービスを提供する場合にも、利用者がソースコードを入手できるようにする義務が定められています。
ただし、実際にどの範囲のプログラムが対象になるかは、ソフトウェア同士の結合関係などによって異なる場合があります。この問題では、AGPLv3のソフトウェアを改変して使うサーバ側が対象だと整理すれば十分です。
FAQ
Q. AGPLv3のソフトウェアを改変せずに使う場合も、ソースコード提供が必要ですか?
A. ネットワーク越しに利用者がそのソフトウェアとやり取りする場合、AGPLv3の条件に基づいてソースコードを提供できるようにする必要があります。改変の有無だけで判断せず、ライセンス条件を確認してください。
A. ネットワーク越しに利用者がそのソフトウェアとやり取りする場合、AGPLv3の条件に基づいてソースコードを提供できるようにする必要があります。改変の有無だけで判断せず、ライセンス条件を確認してください。
Q. サーバ側のソースコードをインターネット上で誰にでも公開する必要がありますか?
A. 基本的には、対象となるサービス利用者がソースコードを入手できるようにすることがポイントです。「インターネット上で無条件に一般公開すること」と同一ではありません。
A. 基本的には、対象となるサービス利用者がソースコードを入手できるようにすることがポイントです。「インターネット上で無条件に一般公開すること」と同一ではありません。
Q. 自社開発のファームウェアも、サーバと通信するだけでAGPLv3の対象になりますか?
A. 通信するだけでは、通常は対象になるとは限りません。この問題では、ファームウェアは自社開発であり、AGPLv3のソフトウェアを使っているとは示されていないため、開示対象として扱いません。
A. 通信するだけでは、通常は対象になるとは限りません。この問題では、ファームウェアは自社開発であり、AGPLv3のソフトウェアを使っているとは示されていないため、開示対象として扱いません。
関連キーワード: AGPLv3、GPL、コピーレフト、ソースコード提供、ネットワークサービス、オープンソースライセンス

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

