トップ回答者
Microsoft.VisualBasicのソースコード

質問
-
下記サイトより.NET Frameworkのソースコードをダウンロードできる事を知り,「.Net 4」「.NET_3.5_sp1_redist 50727.3053」をダウンロードしてみました。
http://referencesource.microsoft.com/netframework.aspx
Microsoft.VisualBasic内のソースコードが含まれていないように思いますが,これは別のところからダウンロードする必要があるのでしょうか?
ちなみに,Visual Basic 2010 Express,Visual C# 2010 Expressを使用しています。
どなたかアドバイスをいただけますと幸いです。
回答
すべての返信
-
コメントありがとうございます。
>全てが公開されているわけではありません。また公開されていても大人の事情で空白で塗りつぶされているものもあります。
全てが公開されているわけではないんですね。
「Microsoft.VisualBasic」は公開されていないという理解でよろしいのでしょうか?
>それと参照する際はライセンスに気を付けてください。
承知いたしました。EULAをよく理解してから活用したいと思います。英語なので正しく理解できるか不安ではありますが・・・
-
-
>例えば、先日のMicrosoft.VisualBasic.Strings(Strings.vb)もリンク先からダウンロードできるアーカイブのいずれかに含まれていましたが。
ありがとうございます。ちょっと見つけるのが大変そうですが,がんばってみます。
>質問文を読むとソースコードが公開されていて当然という空気でしたが、公開されたのはほんの2,3年前のことで、この意識の違いがライセンスを軽視してしまわないかと注意しました。
ご忠告いただきありがとうございます。数年前に公開されたことも知っていますし,ライセンスを軽視しているつもりもございません。ただ,正直なところEULAの理解不足から,何が認められていて,何が認められていないのか理解できておりません。
ソースコードを見るだけであれば認められていると理解おりますが,もし誤りであればご指摘いただけますとありがたいです。
-
ちなみに、なぜソースコードを見ようと思ったのでしょうか?
この EULA における reference use はかなり限定的ですので、それを理解せずにソースコードを読まないようにしてください。(少なくとも、Windows で動くソフトウェアを開発する目的以外でソースコードを見ることは NG です)たとえば、VisualBasic 名前空間のクラスのコードを参考にするあるいはコピペによって、同じ機能を再実装することや他の環境に移植するといったことであれば、ライセンス違反になるはずです。
(疑うようで申し訳ありませんが、投稿時期が近かったので、念のため指摘させて頂きました)今回の件に限らず、ライセンスに対する認識をおろそかにすると、本人だけでなく、所属する法人・組織にも影響を与える可能性があります。
お断り:本投稿に関する判断は素人が書いています。法規・契約に関しては弁護士など、責任を持てる人に相談してください。あるいは当事者同士で解決してください。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。 -
コメントいただき,ありがとうございます。
理由の1つは,StrConvという関数がSilverlightで使えないため,似たような働きをするものを実装できないか参考にするためです。
また,もう一つは,StrConvはShift-JISで符号化されていない文字を変換すると「?」になってしまったり,Windows7環境では濁点・半濁点が「?」になってしまうため,この原因を知りたかったのです。
最終的には,自分で変換テーブルなどを用意して完全に自作のクラスを作成することで解決いたしました。
ソースをまるごとコピペするつもりもありませんでしたし,Windows上で動作するプログラムを開発する目的で参照したのですが,今回のケースはNGとなるのでしょうか?
また,下記のコメントについてですが,
>たとえば、VisualBasic 名前空間のクラスのコードを参考にするあるいはコピペによって、同じ機能を再実装することや他の環境に移植するといったことであれば、ライセンス違反になるはずです。
コピペは確かに問題外ですね。
しかし,同じコードで実装すると動作そのものに問題があるので,「?」になってしまわないために「参考」にしたのですが,「参考にする」という事はいけなかったのでしょうか?
決してライセンスに対する認識をおろそかにしているつもりはございません。
私の認識に誤りがあるようでしたら,是非,ご指摘ください。
-
ソースをまるごとコピペするつもりもありませんでしたし,Windows上で動作するプログラムを開発する目的で参照したのですが,今回のケースはNGとなるのでしょうか?
"Reference use" の定義と "Grant of Rights" をご確認ください。
個別の事例の判断は、私は法律の専門家でもありませんし、Microsoft を代行するものでもありませんので、断言する権限はありません。
(先の投稿で断言しているかも知れませんが、お断りにあるように、素人判断に過ぎません)しかし,同じコードで実装すると動作そのものに問題があるので,「?」になってしまわないために「参考」にしたのですが,「参考にする」という事はいけなかったのでしょうか?
「参考にした」ということは「このライセンスに同意し、ライセンスによって与えられた権利に基づいてソースコードを閲覧した」ということですよね?
その「権利」、Grant of Rights の (A)に、「同じような機能の実装目的によるソースコードの参照」が含まれていれば、OK でしょう。ところで、「いけなかったのか?」と問うと言うことは、ライセンスの文面で「OK である」と判断していなかったと言うことでしょうか?
「いけないのか?」ではなく、「○○の部分から認められると考えていますが、認識に違いがあるのでしょうか?」と問われるのなら、何らかの判断をしていると読み取れるのですが…。以下、私の見解ですが、これが正しい保障はありません。
# 私は、デバッグ目的で .NET Framework の変な動きの原因追及で使えるぐらいだと思っています。
# 同等機能を再実装するために参考にすることはありませんし、すべきではないと捉えています。
# 目的として「再実装」が先にあるなら、デバッグ目的とはいえません。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。 -
コメントいただき,ありがとうございます。
>「参考にした」ということは「このライセンスに同意し、ライセンスによって与えられた権利に基づいてソースコードを閲覧した」ということですよね?
はい。もちろん全文を読みました。ここに原文を載せてい良いのか判断できませんでしたので,省略した形で箇所を指定しますが,
1. Definitions の "Reference use"~。
・Windows上で動作するアプリケーションを維持するためならOK。
・Windows以外のシステムで実質的に同一の機能や機能を持つもの作成させる目的のために使用する事はダメ。
2. Grant of Rights の (A) No Trademark License~。
ライセンスに従ったうえで,参照に限ってはOK
と理解したうえで,私の目的は該当すると判断し,今回参照いたしました。
Azuleanさんは,
> たとえば、VisualBasic 名前空間のクラスのコードを参考にするあるいはコピペによって、同じ機能を再実装することや他の環境に移植するといったことであれば、ライセンス違反になるはずです。
とコメントいただいておりますが,Windows上で動作するものであり,全く同じ機能を持つものを作成するわけではなく,ましてや.NET Framworkの不具合(言い切るつもりはありません)に近いものを避ける目的で参照しましたので,そのための参照もライセンス違反になると言われているような気がしたものですから,「いけなかったのでしょうか?」と書かせていただきました。
私はEULAを読んで,今回の事例は参照しても良いものだと認識をいたしました。
そのうえで,私の認識に誤りがあるようでしたらご指摘いただければ,幸いです。
説明不足で申し訳ございませんでした。