Windows App SDK 関連のライセンス表示に関して

Ueda Kunio(上田 邦男) 40 評価のポイント
2024-09-24T05:43:58.7866667+00:00

WinUI3のアプリケーションを開発しています。

Microsoft.WindowsAppSDKやCommunityToolkit.WinUI.*等のNugetパッケージを使用しています。

これらはTemplateStudioでプロジェクトを作成した際にデフォルトで入ってきたものと思っていますが、こういったいわゆる標準的なもの(WinUI3のアプリケーションとして標準で使用しそうなMicrosoft製のNugetパッケージ類)に関して、アプリケーション上でライセンスの表示等は必要でしょうか?

例えば、アプリケーションのAboutダイアログでそれらのライセンステキストをTextBoxやWebView2などで表示するとかです。

よろしくお願いいたします。

C#
C#
C 言語ファミリをルーツとし、コンポーネント指向プログラミングのサポートを含む、オブジェクト指向およびタイプセーフのプログラミング言語。
31 件の質問
0 件のコメント コメントはありません
{count} 件の投票

承認済みの回答
  1. Raina Zhao - MSFT 2,855 評価のポイント Microsoft ベンダー
    2024-09-24T08:45:17.33+00:00

    Ueda Kunio(上田 邦男)さん、こんにちは。

    Microsoft Q&A フォーラムにご投稿くださいましてありがとうございます。

    これらのリソースはオープンソースであるため、アプリケーション上でライセンスの表示などは必要はないと思われます。

    表示させたい場合は、WebView2などでライセンスを表示すれば問題ありません。

    どうぞよろしくお願いいたします。


    役に立った回答には「回答を受け入れる」と「いいね!」を押してください。さらに質問がある場合は、「コメント」を追加してください。注意:Q&Aからメール通知を受け取りたい場合には、ドキュメントの手順に基づき、メール通知を有効にしてください。


1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. gekka 9,341 評価のポイント MVP
    2024-09-24T11:56:18.6666667+00:00

    かなりの数だとしてもnugetで参照されているライブラリのライセンスはプロジェクトファイルから機械的に抽出できるので、機械的にライセンステキストを生成して添付するようにすることはそれほど難しくはないと思います。

    # プロジェクトファイルのあるフォルダをカレントにして
    $jsontext=((&"C:\Program Files\dotnet\dotnet.exe" list package --include-transitive --format json) -join "`r`n")
    $json=ConvertFrom-Json $jsontext
    
    $packages= ($json.projects.frameworks.toplevelpackages + $json.projects.frameworks.transitivepackages)
    
    $metadata= $packages | ForEach-Object{
        $v= $_.resolvedVersion
        $id= $_.id
    
        # https://learn.microsoft.com/ja-jp/nuget/api/package-base-address-resource?WT.mc_id=DT-MVP-5000708#download-package-manifest-nuspec
        $uri = ("https://api.nuget.org/v3-flatcontainer/" + $id + "/"+ $v+ "/" + $id +".nuspec")
        $nuspec= (Invoke-WebRequest -Method Get $uri).Content
    
        $meta=([xml]$nuspec).package.metadata
    
        [PSCustomObject]@{ 
            id=$meta.id 
            version=$meta.version
            authors=$meta.authors
            license=$meta.license.'#text'
            licenseUrl=$meta.licenseUrl
            projectUrl=$meta.projectUrl
        }
    } | Sort -Property authors
    
    $metadata | Format-Table
    

    # 手作業でやってGPLが入り込むことの方がよっぽど大変


お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。