yamarah
@yamarah (yamarah)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Microsoft.Windows.SDK.NET.dllのライセンス

解決したいこと

Microsoft.Windows.SDK.NET.dllを配布する場合に添付するライセンスは何なのか。
そもそも、再配布して良いのか。

発生している問題・エラー

NET8をターゲットにしたWPFプロジェクトを新規作成します。
ターゲットOSバージョンを10.0.17763.0に変更します。
スクリーンショット 2024-06-14 134252.png

これをパブリッシュすると、

  • Microsoft.Windows.SDK.NET.dll
  • WinRT.Runtime.dll
    がコピーされます。
    スクリーンショット 2024-06-14 141835.png

後者についてはMITライセンスであると分かったのですが、前者についての情報がつかめません。

自分で試したこと

まずググりました。
Question: Can I redistribute Microsoft.Windows.SDK.NET.dll and WinRT.Runtime.dll?
https://github.com/microsoft/WindowsAppSDK/discussions/4368
がヒットし、このスレッドの結論としては、Windows App SDKのライセンスであろうとなっています。
このリンクからは、sdk_license.rtfがダウンロードできます。

次に、このdllが含まれる要因を調べると、Microsoft.Windows.SDK.NET.Refでした。
スクリーンショット 2024-06-14 135342.png
このパッケージのnugetのページLicense Infoからも、sdk_license.rtfがダウンロードできます。

この2つのファイルは同一バイナリーでした。

sdk-license.rtfを読むと、次のように書いてあります。

REDIST.TXT Files. You may copy and distribute the object code form of code listed in REDIST.TXT files plus the files listed on the REDIST.TXT list located at http://go.microsoft.com/fwlink/?LinkId=524842.

REDIST.TXTに書いてあるファイルを配布して良いようです。Microsoft.Windows.SDK.NET.RefにはREDIST.TXTが含まれていないため、上記URLを確認します。
リンク先はREDIST.TXTというタイトルのページになっていて、配布可能なコンテンツが記載されています。
スクリーンショット 2024-06-14 141019.png

しかし、ここにはMicrosoft.Windows.SDK.NET.dllが記載されていません。

ここからの帰結では、Microsoft.Windows.SDK.NET.dllは再配布できないように思えます。
(当然、そんなわけ無いだろうと信じています。)

基本的すぎるのか、情報が無くて困っています。ご存じの方が居られましたら、ご教授ください。

1

5Answer

Comments

  1. @yamarah

    Questioner

    回答ありがとうございます。
    「自分で試したこと」に書き漏らしていましたが、nugetのページから問い合わせをしましたが、返答はありませんでした。

    引き続き、ご存じの方が居られましたら情報をお願いします。

回答ありがとうございます。
Microsoft Q&Aでも聞いてみます。

引き続き、ご存じの方が居られましたら情報をお願いします。

0Like

Comments

  1. ↓これ、関係ありますか?

ありがとうございます。
残念ながら、お教えいただいたURLは、私の質問中の「まずググ」ったのと同じものでした。

0Like

最初の投稿に記載された Discussions #4368 の内容を読み違えていませんか?
そこでやり取りされている内容は以下かと思います。

  • Microsoft.Windows.SDK.NET.dll は Windows App SDK の一部 ではない
    • ディスカッショントピックの投稿者さんはここを誤認して記載している。
  • 実際には Microsoft.Windows.SDK.NET.dll および WinRT.Runtime.dllmicrosoft/CsWinRT リポジトリの成果物である。

そして microsoft/CsWinRT のファイルが Microsoft.Windows.SDK.NET.Ref パッケージに同梱されているということかと思いますので、ライセンスは microsoft/CsWinRT リポジトリのものが適用されるべきかと思われます。

0Like

Comments

  1. @yamarah

    Questioner

    コメントありがとうございます。確認に手間取っています。

    実際には Microsoft.Windows.SDK.NET.dll および WinRT.Runtime.dll は microsoft/CsWinRT リポジトリの成果物である。

    この情報は、どこに記載されているのでしょうか。
    https://github.com/microsoft/WindowsAppSDK/discussions/4368
    には、それを示唆することが書いてあるのですが、CsWinRTに含まれている確証がありません。

    と、ここまで書いたものの、結局はMicrosoft.Windows.SDK.NET.Refパッケージの一部として取り込まれているので、個別梱包物のライセンスではなくMicrosoft.Windows.SDK.NET.Refのライセンス次第なのでは? という気がしてきました。

  2. そのディスカッションの内容と、CsWinRTリポジトリ内を「Microsoft.Windows.SDK.NET」で検索した結果からそのようだと思いましたが違いそうでしょうか?
    (当方はライセンス検証作業をしているわけではないので、そこまで確証を追っていませんが)

    「Microsoft.Windows.SDK.NET.Refのライセンス次第なのでは?」についてはどういう理屈なのかよくわかりませんでした。

  3. @yamarah

    Questioner

    そのディスカッションの内容と、CsWinRTリポジトリ内を「Microsoft.Windows.SDK.NET」で検索した結果からそのようだと思いましたが違いそうでしょうか?

    本当ですね。以前に試した時はうまく検索できていなかったようです。
    いま、それらしいファイルを見つけることが出来ました。有難うございます。

    「Microsoft.Windows.SDK.NET.Refのライセンス次第なのでは?」についてはどういう理屈なのかよくわかりませんでした。

    きっとMITライセンスで問題ないのだろうし、タラレバの話しをしても有意義ではないということを理解して続けると、理屈としては、Microsoft.Windows.SDK.NET.RefのライセンスでMicrosoft.Windows.SDK.NET.dllを再配布を禁止されていたら、再配布できないだろうということです。
    もちろん、第三のルート(直接CsWinRTのリポジトリ)から入手すれば良いのでしょうけど。

  4. 「どういう理屈なのかよくわかりませんでした。」について、蛇足かとおもって省略していたことを一応補足として記載しますが、パッケージに含めたからと言って別に他所の成果物に対してライセンスをオーバーライドするようなことができるわけでもないので、まったく関係ないのではというような意味です。
    (もし、パッケージ側に含められればそちらを優先します、みたいなライセンスがあればそういう場合には関係するのかもしれませんが)
    それに、Refパッケージ自体は開発時に参照の仲介をするだけで、再頒布もしないですよね。

  5. @yamarah

    Questioner

    パッケージに含めたからと言って別に他所の成果物に対してライセンスをオーバーライドするようなことができるわけでもないので、

    それは、Microsoft.Windows.SDK.NET.dllの権利者がMicrosoft.Windows.SDK.NET.Refの権利者に、どのようなライセンスを与えているかによりますよね。
    タラレバが続きますが、前者が後者に「三次配布禁止」のライセンスで使用許可を与えている可能性もあるのです。技術的には。
    双方の権利者が同一と考えるなら猶更、どうにでも出来ます。

    ライセンスは1種類とは限らないので、変わりどころでは、GPLでソース公開しているけどお金を払ったらGPLでないライセンスを発行するオープンソースソフトウェアもありますよね。
    (お金を払ったら、自社ソフトに組み込んでもソース公開義務が外れる)

    ともかく、確証はないけど、MITライセンスで問題ないのでしょう。ありがとうございました。

Your answer might help someone💌