質問: Electronでアプリケーションを配布する場合に、 もともとElectronに使われているmoduleのライセンスや、 npmで他にインストールしたrequestなどのmoduleのライセンスは、 表記すべきなのでしょうか。
回答: 配布されるアプリに含まれる物につては、それぞれのソフト(OSS)のライセンス条項に従う必要があります。 Electron本体のライセンスは、それら依存ライブラリまで適用されるものでありません。(これは、Electronに限った話ではありません) npmでインストールされたアプリのライセンス条項に、そのソフトのライセンス条項をアプリの提供者に提示しないといけないとなっていて(たいていのOSSのライセンスは該当)、配布物のなかにそのパッケージが含まれるのであれば、アプリ提供者がライセンスを確認できる状態にしなければなりません。 これはnpmで直接指定してインストールしたパッケージに限らず、そのパッケージが依存していて同時に導入されたソフトについても同様です。 でelectronアプリの場合、asar でリソースをパッケージ化していなければ、app\node_modules に npmパッケージがそのまま使用者にも見える形になっており、たいていの場合そこに各モジュールライセンスに関するファイルが存在するので、それでそのnpmパッケージ本体については最低限の義務は果たせる事が多いです。 しかし、asar でリソースをパッケージ化している場合、使用者にnpmパッケージのライセンスファイルが見える状態にあるとは言えないので、別途、各npmパッケージのライセンス情報をアプリ提供者に何らかの方法で伝える必要があります。 またasar でリソースをパッケージ化していない場合でも、npmパッケージが依存しているネイティブのライブラリがOSS場合、app\node_modules 以下にはそれら依存ライブラリのライセンス情報ファイルが存在しない可能性が高く要注意で、やはり配布物に含まれる全てのライセンス提示が必要なソフト(OSS)はリスト化した方が良いでしょう。 例えば electron ベースのVS Codeなどでは、asarでパッケージ化されているのは electron と atom 部分だけで、使用している npmパッケージの種類やライセンスについては app\node_modules 以下のファイルでも確認できるのですが、 \Microsoft VS Code\resources\app 以下に、 * LICENSE.txt * LICENSES.chromium.html * ThirdPartyNotices.txt とファイルがあり、依存ライブラリのライセンスなど含め、これらのファイルで確認できます。 さらに、 マイクロソフト ソフトウェア ライセンス条項 MICROSOFT VISUAL STUDIO CODE に、 > > d.第三者のプログラム。 > > i. 本ソフトウェアには、本ソフトウェアに付属している ThirdPartyNotices ファイルに規定されているとおり、別途の法律上の通知が付属し、別途のライセンス条項が適用される、第三者のコンポーネントが含まれている場合があります。かかるコンポーネントに別途のライセンス条項が適用される場合でも、下記の免責事項ならびに損害に関する制限および除外は併せて適用されるものとします。 > > ii. 本ソフトウェアには、ソース コード公開義務のあるオープンソース ライセンスに基づいてライセンスされる第三者のコンポーネントが含まれています。これらのライセンスの複製は、ThirdPartyNotices ファイルまたは付属のクレジット ファイルに含まれています。お客様は、当該オープンソース ライセンスで求められているとおり、5.00 米ドルの郵便為替または小切手を次の宛先に送付することにより、対応するソース コード一式をマイクロソフトから取得することができます。Source Code Compliance Team, Microsoft Corporation, 1 Microsoft Way, Redmond, WA 98052 USA。支払の備考欄には、「third party source code for Visual Studio Code」と記載してください。マイクロソフトは、ソースを http://thirdpartysource.microsoft.com で公開することもあります。 > > > となっており、Third Party Disclosuresで、Product に "Visual Studio Code" を入れて検索すれば、npm以外の依存OSSのライセンスなどが確認できるようになって、chromium などのソースコードも使用者が入手可能な状態にしています。 (アプリ提供者が求めればソースコード提供が必要なライセンスのOSSを使用していれば、これも必要な措置) 以上、ご参考までに。