「AP過去問 令和7年度春期 午前 問16」の版間の差分
(ページの作成:「AP過去問 令和7年度春期 午前 問題に戻る AP過去問 令和7年度春期 午前 問15前の問題へ AP過去問 令和7年度春期 午前 問17次の問題へ =='''問16(問題文)'''== ア イ ウ エ =='''回答・解説'''== AP過去問 令和7年度春期 午前 問15前の問題へ AP過去問 令和7年度春期 午前 問17次の問題…」) |
編集の要約なし |
||
(同じ利用者による、間の3版が非表示) | |||
8行目: | 8行目: | ||
=='''問16(問題文)'''== | =='''問16(問題文)'''== | ||
表は、OSSのライセンスごとに、そのライセンスのOSSを利用したプログラムを配布するとき、ソースコードを公開しなければならないかどうかを示す。a~dに入れるライセンスの適切な組合せはどれか。ここで、表中の❝〇❞は公開しなければならないことを表し、❝×❞は公開しなくてもよいことを表す。 | |||
<yjavascript> | |||
</script> | |||
<style> | |||
.table-container { | |||
display: inline-block; | |||
text-align: left; | |||
margin: 20px; | |||
} | |||
.table-header { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-bottom: 5px; | |||
} | |||
</style> | |||
<div><div class="table-container"> | |||
<table border="0" style="border-collapse: collapse;border-style: solid"> | |||
<tr> | |||
<td align="center" style="border: 0px;"></td> | |||
<td align="center" style="border: 2px solid;" colspan="4">OSSライセンス</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 0px;"></td> | |||
<td align="center" style="border: 2px solid; width: 5em;">a</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">b</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">c</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">d</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 23em;">OSSのソースコードを修正して作ったプログラム</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">OSSに静的にリンクしたプログラム</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid;">OSSに動的にリンクしたプログラム</td> | |||
<td align="center" style="border: 2px solid;">〇</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
<td align="center" style="border: 2px solid;">×</td> | |||
</tr> | |||
</table> | |||
</div> | |||
</div> | |||
<script> | |||
</yjavascript> | |||
<yjavascript> | |||
</script> | |||
<style> | |||
.table-container { | |||
display: inline-block; | |||
text-align: left; | |||
margin: 20px; | |||
} | |||
.table-header { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-bottom: 5px; | |||
} | |||
</style> | |||
<div><div class="table-container"> | |||
<table border="0" style="border-collapse: collapse;border-style: solid"> | |||
<tr> | |||
<td align="center" style="border: 0px;"></td> | |||
<td align="center" style="border: 2px solid; width: 5em;">a</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">b</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">c</td> | |||
<td align="center" style="border: 2px solid; width: 5em;">d</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 2em;">ア</td> | |||
<td align="center" style="border: 2px solid;">GPL</td> | |||
<td align="center" style="border: 2px solid;">LGPL</td> | |||
<td align="center" style="border: 2px solid;">MPL</td> | |||
<td align="center" style="border: 2px solid;">BSD</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 2em;">イ</td> | |||
<td align="center" style="border: 2px solid;">GPL</td> | |||
<td align="center" style="border: 2px solid;">MPL</td> | |||
<td align="center" style="border: 2px solid;">BSD</td> | |||
<td align="center" style="border: 2px solid;">LGPL</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 2em;">ウ</td> | |||
<td align="center" style="border: 2px solid;">LGPL</td> | |||
<td align="center" style="border: 2px solid;">GPL</td> | |||
<td align="center" style="border: 2px solid;">MPL</td> | |||
<td align="center" style="border: 2px solid;">BSD</td> | |||
</tr> | |||
<tr> | |||
<td align="center" style="border: 2px solid; width: 2em;">エ</td> | |||
<td align="center" style="border: 2px solid;">LGPL</td> | |||
<td align="center" style="border: 2px solid;">MPL</td> | |||
<td align="center" style="border: 2px solid;">BSD</td> | |||
<td align="center" style="border: 2px solid;">GPL</td> | |||
</tr> | |||
</table> | |||
</div> | |||
</div> | |||
<script> | |||
</yjavascript> | |||
=='''回答・解説'''== | =='''回答・解説'''== | ||
この問題は、OSSライセンスごとの'''ソースコード公開義務の違い'''を正しく理解しているかを問うものです。表の各行がそれぞれの利用形態を示しており、ライセンスごとにソースコード公開が必要かどうかを判断する必要があります。 | |||
まずは、代表的なライセンスの特徴を確認します。 | |||
*'''GPL''':最も厳しい。改変の有無やリンクの方法(静的・動的)にかかわらず、派生物全体のソースコード公開を義務付けます。 | |||
*'''LGPL''':GPLより緩やかで、動的リンクであればソース公開の義務はありません。静的リンクや改変時には公開義務があります。 | |||
*'''MPL''':ファイル単位での公開を義務付けますが、静的リンクや動的リンクのみであれば公開は不要な場合もあります。 | |||
*'''BSD''':非常に寛容で、ソースコードの公開義務はありません。ただし著作権表示などの条件を守る必要はあります。 | |||
この条件に完全に一致するのは以下のパターンです。 | |||
:→ '''ア:a=GPL、b=LGPL、c=MPL、d=BSD''' | |||
各ライセンスについて、なぜこのような結果になるかを説明します。 | |||
*'''GPL''':すべての行で〇。改変・リンク問わず、ソース公開が必要です。 | |||
*'''LGPL''':修正・静的リンクで〇、動的リンクで×。動的リンクでの使用が許容されているためです。 | |||
*'''MPL''':修正時のみ〇。ファイル単位での公開義務があり、リンクだけでは義務が発生しない場合があります。 | |||
*'''BSD''':すべて×。ソース公開義務がありません | |||
したがって | |||
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; "> | |||
ア</span> | |||
が答えです。 | |||
2025年4月24日 (木) 17:20時点における最新版
AP過去問 令和7年度春期 午前 問15前の問題へ
AP過去問 令和7年度春期 午前 問17次の問題へ
問16(問題文)
表は、OSSのライセンスごとに、そのライセンスのOSSを利用したプログラムを配布するとき、ソースコードを公開しなければならないかどうかを示す。a~dに入れるライセンスの適切な組合せはどれか。ここで、表中の❝〇❞は公開しなければならないことを表し、❝×❞は公開しなくてもよいことを表す。
OSSライセンス | ||||
a | b | c | d | |
OSSのソースコードを修正して作ったプログラム | 〇 | 〇 | 〇 | × |
OSSに静的にリンクしたプログラム | 〇 | 〇 | × | × |
OSSに動的にリンクしたプログラム | 〇 | × | × | × |
a | b | c | d | |
ア | GPL | LGPL | MPL | BSD |
イ | GPL | MPL | BSD | LGPL |
ウ | LGPL | GPL | MPL | BSD |
エ | LGPL | MPL | BSD | GPL |
回答・解説
この問題は、OSSライセンスごとのソースコード公開義務の違いを正しく理解しているかを問うものです。表の各行がそれぞれの利用形態を示しており、ライセンスごとにソースコード公開が必要かどうかを判断する必要があります。
まずは、代表的なライセンスの特徴を確認します。
- GPL:最も厳しい。改変の有無やリンクの方法(静的・動的)にかかわらず、派生物全体のソースコード公開を義務付けます。
- LGPL:GPLより緩やかで、動的リンクであればソース公開の義務はありません。静的リンクや改変時には公開義務があります。
- MPL:ファイル単位での公開を義務付けますが、静的リンクや動的リンクのみであれば公開は不要な場合もあります。
- BSD:非常に寛容で、ソースコードの公開義務はありません。ただし著作権表示などの条件を守る必要はあります。
この条件に完全に一致するのは以下のパターンです。
- → ア:a=GPL、b=LGPL、c=MPL、d=BSD
各ライセンスについて、なぜこのような結果になるかを説明します。
- GPL:すべての行で〇。改変・リンク問わず、ソース公開が必要です。
- LGPL:修正・静的リンクで〇、動的リンクで×。動的リンクでの使用が許容されているためです。
- MPL:修正時のみ〇。ファイル単位での公開義務があり、リンクだけでは義務が発生しない場合があります。
- BSD:すべて×。ソース公開義務がありません
したがって
ア
が答えです。
AP過去問 令和7年度春期 午前 問15前の問題へ
AP過去問 令和7年度春期 午前 問17次の問題へ