GPL系のオープンソースソフトウェア(OSS)では,ライセンス条件(利用条件)としてソースコード開示義務が規定されていると聞きました。自社製品にGPL系のOSSを利用した場合,必ずその製品全てのソースコードを開示しなければならないのでしょうか?

GPL系のOSSライセンスでは,その利用条件として,プログラムのソースコードを開示すべき旨が定められています。もっとも,あらゆる場合にソースコード開示義務が及ぶわけではなく,一定の場合に一定の範囲でソースコード開示義務が及ぶことになります。

1 GPL系のOSSとソースコード開示義務
GPL系のOSSライセンスにはソースコード開示義務が規定されており,当該OSSの利用者は,一定の場合,一定の範囲でソースコード開示義務を負うことになります。では,ここでいう「一定の場合」とは如何なる場合なのでしょうか?また,「一定の範囲」とは如何なる範囲を指すのでしょうか?

2 ソースコードを開示しなければならない場合
まず,どのような場合にソースコードを開示しなければならないのか説明します。GPL系のOSSライセンスでソースコード開示義務が及ぶと規定されているのは,(ざっくりといえば)そのOSSを第三者に提供する場合です。たとえば,機器の組込ソフトウェアの一部にGPL系のOSSが利用されている場合や,サーバからDLさせて利用させるソフトウェアの一部にGPL系のOSSが含まれている場合が挙げられます。
他方,GPL系のOSSであっても,①社内利用にとどまる場合や,②社外のユーザに対してネットワークを介したアクセス・利用に供しているような場合にはソースコード開示義務は及ばないことが通常です。例外はAGPLというOSSライセンスで,同ライセンスでは上記②のような利用形態の場合にもソースコード開示義務が生じますので,注意が必要です。

3 開示すべきソースコードの範囲
次に,ソースコード開示義務が及ぶソフトウェアの範囲についてみていきましょう。GPL系のOSSを利用する場合,当該OSSのソースコードだけ開示すれば良いわけではありません。当該OSS以外のプログラムについてもソースコード開示義務が及ぶことがあります。いくつか具体例を見てみましょう。

(1)GPL(バージョン問わず)
GPLでライセンスされたOSSについては,当該プログラムのみならず,当該プログラムと動的又は静的にリンクされたプログラムについてもソースコード開示義務が及びます。
他方,GPLでライセンスされたOSSとパイプ,ソケット,コマンドライン引数等によりコミュニケーションをとる他のプログラムについては,通常はソースコード開示義務は及びません。

(2)LGPL(バージョン問わず)
LGPLでライセンスされたOSSについては,これと動的にリンクされるプログラムについてはソースコード開示義務は及びません。のみならず,LGPLでライセンスされたOSSについては,当該OSSと静的にリンクされるプログラムについてもソースコード開示義務は及ばないものと考えられます。GPL系のライセンスを管理しているGNUプロジェクトが,次のように説明しているためです(下線及び傍点は筆者)。

LGPLのライブラリに対し静的にリンクする場合、ユーザがライブラリを改変してアプリケーションと再リンクできる機会のために、あなたは、あなたのアプリケーションを、オブジェクト(ソースの必要は必ずしもありません)フォーマットでも提供する必要があります。

https://www.gnu.org/licenses/gpl-faq.ja.html#LGPLStaticVsDynamic参照)

2020年1月14日