-Mono is made up of many pieces of code, all of them open source, but
-different pieces of Mono use different licensing terms.
+In general, the runtime and its class libraries are licensed under the
+terms of the MIT license, and some third party code is licensed under
+the 3-clause BSD license. See the file "PATENTS.TXT" for Microsoft's
+patent grant on the Mono codebase.
-For comments, corrections and updates, please contact mono@novell.com
+The Mono distribution does include a handful of pieces of code that
+are used during the build system and are covered under different
+licenses, those include:
-* Dual Licensing
+Build Time Code
+===============
- Parts of Mono are dual licensed, they are available to the
- public in GPL or LGPL forms, but we also offer those pieces
- under commercial terms from Novell for when the GPL and the
- LGPL are not suitable.
+This is code that is used at build time, or during the maintenance of
+Mono itself, and does not end up in the redistributable part of Mono:
- We have tried to pick the licenses that will maximize adoption
- of Mono, so we tend to use the MIT X11 or LGPL liceses.
+* gettext
- Contributions to dual-licensed module require that the author
- contributes the code under the terms of the MIT X11 code, or
- to sign an agreement that allows Novell to redistribute the
- code under other licenses.
+ m4 source files used to probe features at build time: GPL
- Contributions for other modules should be under the same license
- terms as the rest of the module, or under MIT X11 terms.
+* Benchmark Source Files
- If you need further information, please contact mono@novell.com
+ Logic.cs and zipmark.cs are GPL source files.
-* The Modules
+* mono/docs/HtmlAgilityPack
-** mono/mono: the Mono VM
+ MS-PL licensed
- This code is dual licensed under the LGPL or commercial licenses.
+* mcs/jay: 4-clause BSD licensed
- The LGPL ensures that Mono can be used in most scenarios, but
- gives Novell the flexibility to relicense the code for
- embedded systems, static linking or commercial settings where
- the LGPL can not be used.
+* mcs/nunit24: MS-PL
- We consider non-LGPL use instances where you use this on an
- embedded system where the end user is not able to upgrade the
- Mono VM or Moonlight installation or distribution that is part
- of your product (Section 6 and 7), you would have to obtain a
- commercial license from Novell (consider software burned into
- a ROM, systems where end users would not be able to upgrade,
- an embedded console, a game console that imposes limitations
- on the distribution and access to the code, a phone platform
- that prevents end users from upgrading Moonlight).
-
- Contact mono@novell.com for details on obtaining the Mono
- runtime under other terms.
+* mcs/class/I18N/mklist.sh, tools/cvt.sh: GNU GPLv2
-** mono/eglib: Mono's X11 glib implementation
+Runtime Code
+============
- This is a minimal subset of glib that is to be licensed under
- the terms of the MIT X11, this means that this code can be
- used for any purposes by anyone.
+The following code is linked with the final Mono runtime, the libmono
+embeddable runtime:
-** mono/metadata/sgen*: Mono's Copying Collector
+* support/minizip: BSD license.
- This new garbage collector is licensed under the terms of
- the MIT X11 license, in hopes that the GC could be reused
- by third party projects, follows the same spirit than the
- Boehm GC.
+* mono/utils/memcheck.h: BSD license, used on debug builds that use Valgrind.
-** mcs/mcs, mcs/gmcs
+* mono/utils/freebsd-dwarf.h, freebsd-elf_common.h, freebsd-elf64.h freebsd-elf32.h: BSD license.
- The C# Compilers (1.0 and 2.0)
+* mono/utils/bsearch.c: BSD license.
- These compilers are dual licensed under the GPL and MIT X11
- license terms.
+* mono/io-layer/wapi_glob.h, wapi_glob.c: BSD license
-** tests
+Class Library code
+==================
- Unless explicitly stated, the tests are under the MIT X11 license.
+These are class libraries that can be loaded by your process:
-** mcs/class
+* mcs/class/RabbitMQ.Client: dual licensed in Apache v2, and Mozilla Public License 1.1
- The class libraries developed by the Mono team are licensed
- under the MIT X11 terms.
+* mcs/class/Compat.ICSharpCode.SharpZipLib and
+ mcs/class/ICSharpCode.SharpZipLib are GPL with class-path exception.
+ Originates with the SharpDevelop project.
- In addition to the class libraries developed by the Mono team,
- there are a number of class libraries that we bundle as part
- of the distribution that were integrated from third-parties or
- that contain code that was originally licensed under different
- terms, these are:
+* mcs/class/System.Core/System/TimeZoneInfo.Android.cs
- ByteFX.Data: LGPL
+ This is a port of Apache 2.0-licensed Android code, and thus is
+ licensed under the Apache 2.0 license
- Npgsql: LGPL
+ http://www.apache.org/licenses/LICENSE-2.0
- FirebirdSql.Data.Firebird: Firebird public license.
- See: mcs/class/FirebirdSql.Data.Firebird/license.txt
-
- ICSharpCode.SharpZipLib, GPL with exceptions.
- See: mcs/class/ICSharpCode.SharpZipLib/README
-
-
-** mcs/tools
-
- These are licensed under the MIT X11 license, except where the
- GPL is explicitly used.
-
-** mcs/jay
-
- This is a port of Berkeley yacc, so it is available under the BSD
- license. See the license in the individual C files for details.
-
-** mono/man
-
- Manual pages and Mono documentation are covered by the MIT X11 license.
-
-* samples
-
- The code in the "samples" directory is released under the MIT X11 license.
-
-* The Licenses
+The Licenses
+============
These are the licenses used in Mono, the files are located:
- GNU GPL: details avaliable in the file mcs/LICENSE.GPL
- GNU LGPL: details available in the file mcs/LICENSE.LGPL
MIT X11: text available in the file mcs/MIT.X11
MPL: text available in the file mcs/LICENSE.MPL
-
+ InfoZip: text available in the file mcs/LICENSE.INFOZIP.BSD