Microsoft Patent Promise for .NET Libraries and Runtime Components 

Microsoft Corporation and its affiliates ("Microsoft") promise not to assert 
any .NET Patents against you for making, using, selling, offering for sale, 
importing, or distributing Covered Code, as part of either a .NET Runtime or 
as part of any application designed to run on a .NET Runtime. 

If you file, maintain, or voluntarily participate in any claim in a lawsuit 
alleging direct or contributory patent infringement by any Covered Code, or 
inducement of patent infringement by any Covered Code, then your rights under 
this promise will automatically terminate. 

This promise is not an assurance that (i) any .NET Patents are valid or 
enforceable, or (ii) Covered Code does not infringe patents or other 
intellectual property rights of any third party. No rights except those 
expressly stated in this promise are granted, waived, or received by 
Microsoft, whether by implication, exhaustion, estoppel, or otherwise. 
This is a personal promise directly from Microsoft to you, and you agree as a 
condition of benefiting from it that no Microsoft rights are received from 
suppliers, distributors, or otherwise from any other person in connection with 
this promise. 

Definitions: 

"Covered Code" means those Microsoft .NET libraries and runtime components as 
made available by Microsoft at https://github.com/Microsoft/referencesource. 

".NET Patents" are those patent claims, both currently owned by Microsoft and 
acquired in the future, that are necessarily infringed by Covered Code. .NET 
Patents do not include any patent claims that are infringed by any Enabling 
Technology, that are infringed only as a consequence of modification of 
Covered Code, or that are infringed only by the combination of Covered Code 
with third party code. 

".NET Runtime" means any compliant implementation in software of (a) all of 
the required parts of the mandatory provisions of Standard ECMA-335 – Common 
Language Infrastructure (CLI); and (b) if implemented, any additional 
functionality in Microsoft's .NET Framework, as described in Microsoft's API 
documentation on its MSDN website. For example, .NET Runtimes include 
Microsoft's .NET Framework and those portions of the Mono Project compliant 
with (a) and (b). 

"Enabling Technology" means underlying or enabling technology that may be 
used, combined, or distributed in connection with Microsoft's .NET Framework 
or other .NET Runtimes, such as hardware, operating systems, and applications 
that run on .NET Framework or other .NET Runtimes. 
