Table of contents

    FAQ: Licensing

    Licensing

    Can I write commercial or proprietary applications that run with Mono?

    Yes. The licensing scheme is planned to allow proprietary developers to write applications with Mono.

    What license or licenses are you using for the Mono Project?

    The Mono runtime, compilers and tools and most of the class libraries are licensed under the MIT license.

    The Mono runtime include some bits of code licensed under the BSD license and some class libraries are under the Apache 2 license. The exact list is available here

    Note that as of March 31st, 2016 the Mono runtime and tools have been relicensed to the MIT license.

    I would like to contribute code to Mono under a particular license. What licenses will you accept?

    Contributions are now taken under the .NET Foundation CLA.

    Patents

    What kind of patent coverage exists for Mono?

    Microsoft has issued a patent promise for Mono, as follows:

     Microsoft Patent Promise for Mono
    
     Microsoft Corporation and its affiliates (“Microsoft”) promise not to
     assert any Applicable Patents against you for making, using, selling,
     offering for sale, importing, or distributing Mono.
    
     If you file, maintain, or voluntarily participate in any claim in a
     lawsuit alleging direct or contributory patent infringement by Mono,
     or inducement of patent infringement by Mono, then your rights under
     this promise will automatically terminate.
    
     This promise is not an assurance that (i) any Applicable Patents are
     valid or enforceable or (ii) Mono 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 benefitting from it that no Microsoft
     rights are received from suppliers, distributors, or otherwise in
     connection with this promise.
    
     Definitions:
    
     “Mono” means those portions of the software development technology, as
     originally distributed by Xamarin, Inc. or the .NET Foundation under
     the name “Mono,” that implement .NET Framework Functionality, provided
     that such portions at a minimum implement all of the required parts of
     the mandatory provisions of Standard ECMA-335 – Common Language
     Infrastructure (CLI).
    
     “.NET Framework Functionality” means any functionality in Microsoft’s
     .NET Framework as described in Microsoft’s API documentation on
     Microsoft’s MSDN website, including the functionality in
     Windowsbase.dll, but excluding all other functionality in the Windows
     Presentation Foundation component of .NET Framework.
    
     “Applicable Patents” are those patent claims, currently owned by
     Microsoft and acquired in the future, that are necessarily infringed
     by Mono. For clarity, Applicable Patents do not include any patent
     claims that are infringed (x) by any underlying or enabling technology
     that may be used, combined, or distributed in connection with Mono
     (such as hardware, operating systems, or applications that run on
     Mono), (y) only as a consequence of modification of Mono, or (z) only
     by the combination of Mono with third party code.