多くの.NETソースコードが利用可能で、その多くはオープンソースですが、さまざまなライセンスの下にあります。さらに他のコードが利用可能ですが、参照目的のみであり、コードで使用することはできません。
指定された目標が次のとおりであるとします。
この制限に達することになっている複雑な既存のアプリケーションの制限を増やしたいと思います。タイプのインターフェースを変更したくありません。結果として変更する必要のあるすべてのコードに微妙なバグを導入せずに、型のインターフェイスを変更できるとは思えません。
現在の階層タイプを更新するつもりである場合、コードがオープンソースであるかどうかは関係ありません。たとえそうであっても、システム全体に変更を導入することはできないためです。たとえアセンブリをSQL Serverでは、同じ証明書/秘密キーで署名することができないため、システムで使用されません。
ただし、独自のSQLCLRユーザー定義型(UDT)を作成して、必要な機能を提供することもできます。
それでも、.NET Frameworkの理解を深めることに関連しているので、
あなたはここでほとんどのもののソースコードを見ることができます:https: //github.com/Microsoft/referencesource
ここにさらに多くのもの:https : //github.com/dotnet/corefx
上記の両方のリポジトリはオープンソースであり、ほとんどがMITライセンスの下で管理されていますが、確実にするために、各場所、場合によってはさまざまなフォルダーのライセンス情報を確認する必要があります。
残りのコードの多くはここにあります:http : //referencesource.microsoft.com/
ReferenceSource.Microsoft.com(すぐ上のリンク)にあるコードのうち、最初の2つのリンク(オープンソース)にもないコードはオープンソースではなく、MICROSOFT REFERENCE SOURCE LICENSE(MS-RSL)によって管理されています。、関連する部分が(そのフレーズの使用法の直後に「参照使用」の定義を置くために軽く編集されています):
ライセンサーは、ソフトウェアを参照用に複製するための譲渡不可かつ非独占的で全世界に著作権使用料のない著作権ライセンスを付与します:デバッグ専用の目的で、参照としての社内でのソフトウェアの使用お客様の製品、製品の保守、またはソフトウェアとの製品の相互運用性の強化。特に、ソフトウェアを会社外に配布する権利を除外します。
ただし、Microsoft.SqlServer.*
これらの場所では名前空間を使用できないようです。つまり、「HierarchyIDはオープンソースですか?」という質問に対する簡単な答えです。です:いいえ。
ソースコードを確認したい場合は、逆コンパイラを使用してDLL(Microsoft.SqlServer.Types.dll)を開く必要があります。しかし、対処すべき潜在的な法的および/または倫理的な問題があります。これは独自のコードであるため、考慮すべき主な点が2つあります。
SQL Serverエンドユーザーライセンス契約(EULA)に記載されているように(および@TomVの回答に引用されているように)、「リバースエンジニアリング、逆コンパイル、または逆アセンブル」できるのは、適用される法律で明示的に許可されている範囲内に限られます。 。一部の人々にとっては、これを行うことは完全に合法ですが、他の人々にとってはそれほどではありません。したがって、地元の知的財産の弁護士に相談することをお勧めします。
あなたが逆コンパイルすることが合法である場合、合法的な言語の意図、およびいくつかのソースコードが提供されているという事実(上部にリンクされているように)が、この特定のコードは提供されていないということは、一般市民がこのコードを見ないか、持っていません。したがって、逆コンパイルが合法であることは、複製も合法であると見なすべきではなく、リファレンスとして使用できるようにするために(つまり、デバッグなど)、そうするべきではありません。